Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKassio Borges <kborges@gitlab.com>2022-03-11 08:08:48 +0300
committerJaime Martinez <jmartinez@gitlab.com>2022-03-11 08:08:48 +0300
commit21ca388dd09d8306268f717c0d2c28196b085d6a (patch)
treebd4e1dcc74e312863f5356e8ec3d4fc09a60c76e /internal/errortracking
parent3ce95814cd7ef50bfba7454299a685cfe74a05ae (diff)
Add correlation_id to all exception captures
Diffstat (limited to 'internal/errortracking')
-rw-r--r--internal/errortracking/errortracking.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/errortracking/errortracking.go b/internal/errortracking/errortracking.go
new file mode 100644
index 00000000..d82674cc
--- /dev/null
+++ b/internal/errortracking/errortracking.go
@@ -0,0 +1,27 @@
+package errortracking
+
+import (
+ "net/http"
+
+ "gitlab.com/gitlab-org/labkit/errortracking"
+)
+
+// CaptureOption alias to avoid importing labkit/errortracking in internal packages
+type CaptureOption = errortracking.CaptureOption
+
+// WithField alias to avoid importing labkit/errortracking in internal packages
+func WithField(key, value string) CaptureOption {
+ return errortracking.WithField(key, value)
+}
+
+// CaptureErrWithReqAndStackTrace calls labkit's errortracking function and attaches the request, stack trace and any additional fields
+func CaptureErrWithReqAndStackTrace(err error, r *http.Request, fields ...errortracking.CaptureOption) {
+ opts := append(
+ fields,
+ errortracking.WithContext(r.Context()),
+ errortracking.WithRequest(r),
+ errortracking.WithStackTrace(),
+ )
+
+ errortracking.Capture(err, opts...)
+}