This is a demonstration project used with our "OTel for Programmers" presentation.
A simple Go payment service that demonstrates how to implement OpenTelemetry instrumentation for observability. The service provides basic payment processing capabilities through a REST API.
- Payment creation and retrieval
- RESTful API endpoints
- In-memory storage (for demo purposes)
- Ready for OpenTelemetry instrumentation
GET /api/payment- Retrieve all paymentsPOST /api/payment- Create a new payment
{
"id": "pay_1234567890",
"amount": 100.50,
"status": "pending",
"date": "2025-07-03T10:30:00Z"
}go run main.goThe service will start on port 8080.
Create a payment:
curl -X POST http://localhost:8080/api/payment \
-H "Content-Type: application/json" \
-d '{"amount": 100.50}'Get all payments:
curl http://localhost:8080/api/paymentThis project serves as the foundation for demonstrating OpenTelemetry concepts including:
- Distributed tracing
- Metrics collection
- Observability best practices
- Integration with monitoring systems