https://github.com/cockroachdb/clue
fork of https://github.com/goadesign/clue
https://github.com/cockroachdb/clue
Last synced: 9 days ago
JSON representation
fork of https://github.com/goadesign/clue
- Host: GitHub
- URL: https://github.com/cockroachdb/clue
- Owner: cockroachdb
- License: mit
- Created: 2023-08-14T16:24:57.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-06T23:40:52.000Z (over 1 year ago)
- Last Synced: 2025-06-13T14:02:30.275Z (13 days ago)
- Language: Go
- Homepage:
- Size: 1.03 MB
- Stars: 0
- Watchers: 59
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# clue: Microservice Instrumentation
[](https://github.com/goadesign/clue/actions?query=branch%3Amain+event%3Apush)
[](https://codecov.io/gh/goadesign/clue)
[](https://goreportcard.com/report/goa.design/clue)
[](https://pkg.go.dev/goa.design/clue)## Overview
`clue` provides a set of Go packages for instrumenting microservices. The
emphasis is on simplicity and ease of use. Although not a requirement, `clue`
works best when used in microservices written using
[Goa](https://github.com/goadesign/goa).`clue` covers the following topics:
* Logging: the [log](log/) package provides a context-based logging API that
intelligently selects what to log.
* Metrics: the [metrics](metrics/) package makes it possible for
services to expose a Prometheus compatible `/metrics` HTTP endpoint.
* Health checks: the [health](health/) package provides a simple way for
services to expose a health check endpoint.
* Dependency mocks: the [mock](mock/) package provides a way to mock
downstream dependencies for testing.
* Tracing: the [trace](trace/) package conforms to the
[OpenTelemetry](https://opentelemetry.io/) specification to trace requests.
* Debugging: the [debug](debug/) package makes it possible to troubleshoot
and profile services at runtime.The [weather](example/weather) example illustrates how to use `clue` to
instrument a system of Goa microservices. The example comes with a set of
scripts that can be used to compile and start the system as well as a complete
Grafana stack to query metrics and traces. See the
[README](example/weather/README.md) for more information.## Contributing
See [Contributing](CONTRIBUTING.md)