Resolves: RHEL-46617
Adds pcp vector uwsgi dashboard
This commit is contained in:
parent
5cd2d73a73
commit
d93cfcff1c
197
0002-add-uwsgi-dashboard.patch
Normal file
197
0002-add-uwsgi-dashboard.patch
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
From e27f6d2954201734d30713a870d279de87fadd2d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sam Feifer <sfeifer@redhat.com>
|
||||||
|
Date: Tue, 2 Jul 2024 12:01:39 -0400
|
||||||
|
Subject: [PATCH] uwsgi dashboard patch
|
||||||
|
|
||||||
|
---
|
||||||
|
.../pcp-vector-uwsgi-overview.jsonnet | 160 ++++++++++++++++++
|
||||||
|
src/datasources/vector/plugin.json | 5 +
|
||||||
|
2 files changed, 165 insertions(+)
|
||||||
|
create mode 100644 src/datasources/vector/dashboards/pcp-vector-uwsgi-overview.jsonnet
|
||||||
|
|
||||||
|
diff --git a/src/datasources/vector/dashboards/pcp-vector-uwsgi-overview.jsonnet b/src/datasources/vector/dashboards/pcp-vector-uwsgi-overview.jsonnet
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..2c9d2a4
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/datasources/vector/dashboards/pcp-vector-uwsgi-overview.jsonnet
|
||||||
|
@@ -0,0 +1,160 @@
|
||||||
|
+local grafana = import 'grafonnet/grafana.libsonnet';
|
||||||
|
+
|
||||||
|
+grafana.dashboard.new(
|
||||||
|
+ 'PCP Vector: UWSGI Overview',
|
||||||
|
+ tags=['pcp-vector', 'uwsgi'],
|
||||||
|
+ time_from='now-5m',
|
||||||
|
+ time_to='now',
|
||||||
|
+ refresh='5s',
|
||||||
|
+)
|
||||||
|
+.addTemplate(
|
||||||
|
+ grafana.template.datasource(
|
||||||
|
+ 'datasource',
|
||||||
|
+ 'performancecopilot-vector-datasource',
|
||||||
|
+ 'PCP Vector',
|
||||||
|
+ )
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Total Worker Count',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_workers', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 0,
|
||||||
|
+ y: 0,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Pause Worker Count',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_pause_worker_count', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 12,
|
||||||
|
+ y: 0,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Idle Worker Count',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_idle_worker_count', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 0,
|
||||||
|
+ y: 8,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Busy Worker Count',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_busy_worker_count', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 12,
|
||||||
|
+ y: 8,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Harakiri Count',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_harakiri_count', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 0,
|
||||||
|
+ y: 16,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Total Exceptions',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_exceptions', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 12,
|
||||||
|
+ y: 16,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Total Workers Acceptions Requests',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_workers_accepting_requests', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 0,
|
||||||
|
+ y: 24,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Total Requests Served',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.total_requests_served', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 12,
|
||||||
|
+ y: 24,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
+.addPanel(
|
||||||
|
+ grafana.graphPanel.new(
|
||||||
|
+ 'Average Response Time (msec)',
|
||||||
|
+ datasource='$datasource',
|
||||||
|
+ decimals=0,
|
||||||
|
+ min=0,
|
||||||
|
+ )
|
||||||
|
+ .addTargets([
|
||||||
|
+ { expr: 'uwsgi.summary.avg_response_time_msec', format: 'time_series', legendFormat: '$metric' },
|
||||||
|
+ ]), gridPos={
|
||||||
|
+ x: 0,
|
||||||
|
+ y: 32,
|
||||||
|
+ w: 12,
|
||||||
|
+ h: 8,
|
||||||
|
+ }
|
||||||
|
+)
|
||||||
|
\ No newline at end of file
|
||||||
|
diff --git a/src/datasources/vector/plugin.json b/src/datasources/vector/plugin.json
|
||||||
|
index a28e3f4..277c8c9 100644
|
||||||
|
--- a/src/datasources/vector/plugin.json
|
||||||
|
+++ b/src/datasources/vector/plugin.json
|
||||||
|
@@ -45,6 +45,11 @@
|
||||||
|
"type": "dashboard",
|
||||||
|
"name": "PCP Vector: Microsoft SQL Server",
|
||||||
|
"path": "dashboards/pcp-vector-mssql-server.json"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "type": "dashboard",
|
||||||
|
+ "name": "PCP Vector: UWSGI Overview",
|
||||||
|
+ "path": "dashboards/pcp-vector-uwsgi-overview.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
@ -26,6 +26,9 @@ go mod vendor
|
|||||||
awk '$2 ~ /^v/ && $4 != "indirect" {print "Provides: bundled(golang(" $1 ")) = " substr($2, 2)}' go.mod | \
|
awk '$2 ~ /^v/ && $4 != "indirect" {print "Provides: bundled(golang(" $1 ")) = " substr($2, 2)}' go.mod | \
|
||||||
sed -E 's/=(.*)-(.*)-(.*)/=\1-\2.\3/g' > "../${VENDOR_TAR}.manifest"
|
sed -E 's/=(.*)-(.*)-(.*)/=\1-\2.\3/g' > "../${VENDOR_TAR}.manifest"
|
||||||
|
|
||||||
|
# patch in uwsgi dashboard before webpack compilation
|
||||||
|
patch -p1 --fuzz=0 < ../0002-add-uwsgi-dashboard.patch
|
||||||
|
|
||||||
# Vendor Node.js dependencies
|
# Vendor Node.js dependencies
|
||||||
patch -p1 --fuzz=0 < ../0001-remove-unused-frontend-crypto.patch
|
patch -p1 --fuzz=0 < ../0001-remove-unused-frontend-crypto.patch
|
||||||
yarn install --frozen-lockfile
|
yarn install --frozen-lockfile
|
||||||
|
@ -16,20 +16,20 @@ end}
|
|||||||
|
|
||||||
Name: grafana-pcp
|
Name: grafana-pcp
|
||||||
Version: 5.1.1
|
Version: 5.1.1
|
||||||
Release: 3%{?dist}
|
Release: 8%{?dist}
|
||||||
Summary: Performance Co-Pilot Grafana Plugin
|
Summary: Performance Co-Pilot Grafana Plugin
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
URL: https://github.com/performancecopilot/grafana-pcp
|
URL: https://github.com/performancecopilot/grafana-pcp
|
||||||
|
|
||||||
Source0: https://github.com/performancecopilot/grafana-pcp/archive/v%{version}/%{name}-%{version}.tar.gz
|
Source0: https://github.com/performancecopilot/grafana-pcp/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
Source1: grafana-pcp-vendor-%{version}-1.tar.xz
|
Source1: grafana-pcp-vendor-%{version}-8.tar.xz
|
||||||
# Note: In case there were no changes to this tarball, the NVR of this tarball
|
# Note: In case there were no changes to this tarball, the NVR of this tarball
|
||||||
# lags behind the NVR of this package.
|
# lags behind the NVR of this package.
|
||||||
%if %{compile_frontend} == 0
|
%if %{compile_frontend} == 0
|
||||||
# Source2 contains the precompiled frontend and dashboards
|
# Source2 contains the precompiled frontend and dashboards
|
||||||
# Note: In case there were no changes to this tarball, the NVR of this tarball
|
# Note: In case there were no changes to this tarball, the NVR of this tarball
|
||||||
# lags behind the NVR of this package.
|
# lags behind the NVR of this package.
|
||||||
Source2: grafana-pcp-webpack-%{version}-1.tar.gz
|
Source2: grafana-pcp-webpack-%{version}-8.tar.gz
|
||||||
%endif
|
%endif
|
||||||
Source3: create_bundles.sh
|
Source3: create_bundles.sh
|
||||||
Source4: build_frontend.sh
|
Source4: build_frontend.sh
|
||||||
@ -37,6 +37,7 @@ Source5: list_bundled_nodejs_packages.py
|
|||||||
Source6: create_bundles_in_container.sh
|
Source6: create_bundles_in_container.sh
|
||||||
|
|
||||||
Patch1: 0001-remove-unused-frontend-crypto.patch
|
Patch1: 0001-remove-unused-frontend-crypto.patch
|
||||||
|
Patch2: 0002-add-uwsgi-dashboard.patch
|
||||||
|
|
||||||
# Intersection of go_arches and nodejs_arches
|
# Intersection of go_arches and nodejs_arches
|
||||||
ExclusiveArch: %{grafanapcp_arches}
|
ExclusiveArch: %{grafanapcp_arches}
|
||||||
@ -131,7 +132,7 @@ bpftrace scripts from pmdabpftrace(1), as well as several dashboards.
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch -P 1 -p1
|
%patch -P 1 -p1
|
||||||
|
%patch -P 2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Build frontend data sources
|
# Build frontend data sources
|
||||||
@ -190,6 +191,9 @@ yarn test
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 8 2024 Sam Feifer <sfeifer@redhat.com> - 5.1.1-8
|
||||||
|
- Add a premade uwsgi dashboard for the vector datasource
|
||||||
|
|
||||||
* Tue May 7 2024 Sam Feifer <sfeifer@redhat.com> 5.1.1-3
|
* Tue May 7 2024 Sam Feifer <sfeifer@redhat.com> 5.1.1-3
|
||||||
- bump release number
|
- bump release number
|
||||||
|
|
||||||
|
4
sources
4
sources
@ -1,3 +1,3 @@
|
|||||||
SHA512 (grafana-pcp-5.1.1.tar.gz) = 697dfbe1e5cd5d66080197dab2798af0965747a4460d15e62c3497f64674bcc77fc776ac5c95cb7043dcf534e8e0eae47afd7500a5851a0d35ad1062e8d4ac2e
|
SHA512 (grafana-pcp-5.1.1.tar.gz) = 697dfbe1e5cd5d66080197dab2798af0965747a4460d15e62c3497f64674bcc77fc776ac5c95cb7043dcf534e8e0eae47afd7500a5851a0d35ad1062e8d4ac2e
|
||||||
SHA512 (grafana-pcp-webpack-5.1.1-1.tar.gz) = 0c71a9c1fc87a58273a5b4d06c0482e2e059bd9aee1dfb200f5a1e8c52f82af1394bdccfbf5c25d20b021e58db7c2185d0c14f85d77f00a51926f80dfa0dade5
|
SHA512 (grafana-pcp-webpack-5.1.1-8.tar.gz) = 77e9e6f306425983808f414662cbb2db9077e7c9fcca36a33033e56b527b339d40415df54fb63465ddd701861f89da19b7f1524eb5aa05c1425f3870e017d467
|
||||||
SHA512 (grafana-pcp-vendor-5.1.1-1.tar.xz) = 8a10a72ef9dd3622d02f7418c98b8e34eb1c978bfac9c0e29bd3099a1c1fc80b61375d6947d29a85256614ce4e01021af38a8d0f4f735daf594e6789169a32bf
|
SHA512 (grafana-pcp-vendor-5.1.1-8.tar.xz) = 239eab5405d42769c8f77f408de06588c299ee0df7ea22c5509a32274380670dad560279cff27ebf2b1814bf293dda27c772989b3f6a0777c591397a07583f04
|
||||||
|
Loading…
Reference in New Issue
Block a user