diff --git a/Makefile b/Makefile index c5b2a67..06150fc 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ help: ## backend: Build and run the backend from source backend: @cd backend && go run . -.PHONY: server +.PHONY: backend ## frontend: Build and run the frontend from source @@ -26,6 +26,10 @@ frontend: ## up: Build and run in docker compose up: - @if [ -e .env ]; then echo "Missing file: .env"; fi docker compose up -d .PHONY: up + +## teardown: Teardown docker +teardown: + docker compose down +.PHONY: teardown diff --git a/backend/app.go b/backend/app.go index 7de9e63..e93bdcd 100644 --- a/backend/app.go +++ b/backend/app.go @@ -5,12 +5,14 @@ import ( "fmt" "io/ioutil" "net/http" + "os" "time" _ "github.com/joho/godotenv/autoload" "github.com/rs/zerolog/log" "github.com/gorilla/mux" + "go.opentelemetry.io/otel" ) // @title RFD FYI API @@ -74,6 +76,11 @@ func respondWithJSON(w http.ResponseWriter, code int, payload interface{}) { // @Router /topics [get] // @Success 200 {array} Topic func (a *App) listTopics(w http.ResponseWriter, r *http.Request) { + tracer := otel.Tracer(os.Getenv("OTEL_SERVICE_NAME")) + ctx := r.Context() + ctx, span := tracer.Start(ctx, "list-topics") + defer span.End() + if time.Since(a.LastRefresh).Minutes() > 1 { a.refreshTopics() } else {