# README
Distributed Tracing Golang Sample
This project demonstrates how to instrument distrubted tracing in golang application with the help of below microservices:
- order-service
- payment-service
- user-service
For this you would need the following:
- Go (version >= 1.16): For installation see getting started
- MySQL 8: Download the MySQL community version from here
serve
for the frontend. For installation see: https://www.npmjs.com/package/serve- Signoz
Tracing flow
Running the code
Start the signoz server following the instructions:
git clone -b main https://github.com/SigNoz/signoz.git
cd signoz/deploy/
./install.sh
Configuration for microservices can be updated in .env file
# service config
USER_URL=localhost:8080
PAYMENT_URL=localhost:8081
ORDER_URL=localhost:8082
# database config
SQL_USER=root
SQL_PASSWORD=password
SQL_HOST=localhost:3306
SQL_DB=signoz
# telemetry config
OTEL_EXPORTER_OTLP_ENDPOINT=localhost:4317
INSECURE_MODE=true
Start individual microservices using below commands
- User Service
go run ./users
- Payment Service
go run ./payment
- Order Service
go run ./order
Start the frontend using following command. For installation of serve
see: https://www.npmjs.com/package/serve
serve -l 5000 frontend
View traces and metrics at http://localhost:3301/