Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/docker-otel-lgtm
Path: blob/main/examples/go/rolldice.go
401 views
1
package main
2
3
import (
4
"fmt"
5
"io"
6
"log/slog"
7
"math/rand"
8
"net/http"
9
"strconv"
10
)
11
12
func rolldice(w http.ResponseWriter, r *http.Request) {
13
ctx, span := tracer.Start(r.Context(), "roll")
14
defer span.End()
15
16
roll := 1 + rand.Intn(6)
17
18
msg := fmt.Sprintf("Rolled a dice: %d\n", roll)
19
logger.InfoContext(ctx, msg, slog.Int("result", roll))
20
21
resp := strconv.Itoa(roll) + "\n"
22
if _, err := io.WriteString(w, resp); err != nil {
23
logger.ErrorContext(ctx, "Write failed: %v\n", err)
24
}
25
}
26
27