enixdark / clue

Microservice instrumentation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

clue: Microservice Instrumentation

Build Status codecov Go Reference

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.

clue covers the following topics:

  • Logging: the log package provides a context-based logging API that intelligently selects what to log.
  • Metrics: the metrics package makes it possible for services to expose a Prometheus compatible /metrics HTTP endpoint.
  • Health checks: the health package provides a simple way for services to expose a health check endpoint.
  • Dependency mocks: the mock package provides a way to mock downstream dependencies for testing.
  • Tracing: the trace package conforms to the OpenTelemetry specification to trace requests.

The 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 for more information.

Contributing

See Contributing

About

Microservice instrumentation

License:MIT License


Languages

Language:Go 98.2%Language:Shell 1.6%Language:Jsonnet 0.2%Language:Procfile 0.0%