letobserv

module
v0.0.0-...-7a46742 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2026 License: MIT

README ¶

Let's Observe

Let's Observe is a side project where I explore ClickStack as an APM (Application Performance Monitoring) solution by building and observing a set of microservices.

The goal of this project is to understand how tracing, metrics, and logs work together in a real microservice environment, and how ClickStack can be used to gain visibility into system behavior and performance.


🎯 Project Goals

  • Explore ClickStack as an APM tool
  • Practice setting up distributed tracing with OpenTelemetry
  • Observe metrics, logs, and traces across microservices
  • Understand common APM challenges in real systems:
    • Latency
    • Errors
    • Bottlenecks
    • Service dependencies

🧰 Tech Stack

  • Language: Go
  • APM: ClickStack
  • Observability: OpenTelemetry
  • Databases: PostgreSQL (or your actual DB)
  • Transport: HTTP / REST
  • Containerization: Docker, Docker Compose
  • Telemetry Backend: ClickHouse (via ClickStack)

Quick start

  1. Fill .env config
cp .env.example .env
  1. Setup local lab: it spawn postgresql DB, Clickstack also migrate db schemas.
make setup
  1. Feed seeds data
make feed
  1. Get Ingestion API Key (via HyperDX UI at localhost:8080)

alt text

# Update key to env 
APM_API_KEY=<your_ingest_api_key>
  1. Start app
# start order app
go run cmd/orders/main.go
# start inventory app
go run cmd/inventory/main.go
  1. Test place order api
curl --location 'localhost:11000/orders' \
--header 'Content-Type: application/json' \
--data '{
    "items": [
        {
            "product_id": "<Replace_product_id_get_from_DB>",
            "product_name": "Wireless Mouse",
            "quantity": 2,
            "unit_price": 49.50
        }
    ],
    "money": 99,
    "shipping_address": "123 Example Street",
    "shipping_phone": "+84123456789",
    "userID": "550e8400-e29b-41d4-a716-446655440000"
}'

Result alt text

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL