The Wayback Machine - https://web.archive.org/web/20230613010524/https://github.com/goadesign/clue
Skip to content

goadesign/clue

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
log
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

clue: Microservice Instrumentation

Build Status codecov Go Report Card 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.
  • Debugging: the debug package makes it possible to troubleshoot and profile services at runtime.

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