From c6948f982a5991289806fea7df619f5f3d4e61c4 Mon Sep 17 00:00:00 2001 From: Yuriy Bezsonov Date: Sun, 5 Jul 2026 16:02:44 +0200 Subject: [PATCH] fix(monitoring): Pin Grafana 12.3.1 + pyroscope-app 1.17.0 for HTTP The workshop serves Grafana over plain HTTP (LoadBalancer, http://), which is not a browser secure context. That constrains the Profiles Drilldown plugin (grafana-pyroscope-app) as follows: - 2.x calls crypto.randomUUID() at load; browsers only expose it over HTTPS/localhost, so it throws "crypto.randomUUID is not a function". - 1.17.0 avoids that call but targets React 18, so it needs Grafana 12.x. On Grafana 13 (React 19) it fails with a ReactCurrentOwner TypeError, because it reads a React 18 internal removed in React 19. The only combination that loads over HTTP is Grafana 12.x + plugin 1.x. Pin the Grafana image to 12.3.1 (React 18, the version the previous deprecated chart shipped) and the plugin to grafana-pyroscope-app@1.17.0. Use the id@version plugin syntax; Grafana's background installer misreads the older space-separated "id version" form as a second plugin id. --- infra/scripts/setup/monitoring.sh | 9 +++++++++ infra/scripts/setup/perf-platform.sh | 9 ++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/infra/scripts/setup/monitoring.sh b/infra/scripts/setup/monitoring.sh index 5293c3f9..220eaa72 100755 --- a/infra/scripts/setup/monitoring.sh +++ b/infra/scripts/setup/monitoring.sh @@ -100,6 +100,15 @@ trap - EXIT # Grafana values cat > "$GRAFANA_VALUES_FILE" <