From 45e41fd4e823ff3eaa1512411045172b8db79a8f Mon Sep 17 00:00:00 2001 From: Nick Mills-Barrett Date: Tue, 13 Aug 2024 18:52:30 +0100 Subject: [PATCH] Add megahungry logs link --- grafana.go | 21 +++++++++++++++++---- submit.go | 5 +++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/grafana.go b/grafana.go index 4f5409b..97693d0 100644 --- a/grafana.go +++ b/grafana.go @@ -23,12 +23,11 @@ type grafanaRequest struct { Range grafanaRange `json:"range"` } -func makeGrafanaLogsURL(username string) (string, error) { +func makeGrafanaLogURL(expr string) (string, error) { now := time.Now().UTC() from := now.Add(-time.Minute * 15) to := now.Add(time.Minute * 15) - expr := `{username="` + username + `",env="prod"} | unpack` req := grafanaRequest{ Datasource: "f21b0c24-8614-42eb-827b-fcbd230dd8d3", Queries: []grafanaQuery{{expr, "range"}}, @@ -37,10 +36,24 @@ func makeGrafanaLogsURL(username string) (string, error) { To: strconv.Itoa(int(to.UnixMilli())), }, } + jsonStr, err := json.Marshal(req) if err != nil { return "", err } - url := "https://grafana.beeper-tools.com/explore?orgId=1&left=" + url.QueryEscape(string(jsonStr)) - return url, nil + return "https://grafana.beeper-tools.com/explore?orgId=1&left=" + url.QueryEscape(string(jsonStr)), nil +} + +func makeGrafanaLogsURLs(username string) (string, string, error) { + bridgeLogsURL, err := makeGrafanaLogURL(`{username="` + username + `",env="prod"} | unpack`) + if err != nil { + return "", "", err + } + + megahungryLogsURL, err := makeGrafanaLogURL(`{user_id="@` + username + `:beeper.com",env="prod"} | unpack`) + if err != nil { + return "", "", err + } + + return bridgeLogsURL, megahungryLogsURL, nil } diff --git a/submit.go b/submit.go index 27f9d4b..f4cb8af 100644 --- a/submit.go +++ b/submit.go @@ -1034,10 +1034,11 @@ func (s *submitServer) buildGenericIssueRequest(ctx context.Context, p parsedPay fmt.Fprintf(bodyBuf, "\n### [Rageshake Logs](%s)", listingURL) if isVerified { fmt.Fprintf(bodyBuf, " | [User Admin](https://admin.beeper.com/user/%s)", username) - if userLogsURL, err := makeGrafanaLogsURL(username); err != nil { + if bridgeLogsURL, megahungryLogsURL, err := makeGrafanaLogsURLs(username); err != nil { zerolog.Ctx(ctx).Err(err).Msg("Error generating grafana URL") } else { - fmt.Fprintf(bodyBuf, " | [User Logs](%s)", userLogsURL) + fmt.Fprintf(bodyBuf, " | [Bridge Logs](%s)", bridgeLogsURL) + fmt.Fprintf(bodyBuf, " | [Megahungry Logs](%s)", megahungryLogsURL) } }