Blame SPECS/grafana-pcp.spec

8f9145
Name:           grafana-pcp
8f9145
Version:        1.0.5
8f9145
Release:        3%{?dist}
8f9145
Summary:        Performance Co-Pilot Grafana Plugin
8f9145
8f9145
%global         github https://github.com/performancecopilot/grafana-pcp
8f9145
%global         install_dir %{_sharedstatedir}/grafana/plugins/grafana-pcp
8f9145
8f9145
BuildArch:      noarch
8f9145
ExclusiveArch:  %{nodejs_arches}
8f9145
8f9145
License:        ASL 2.0
8f9145
URL:            %{github}
8f9145
8f9145
Source0:        %{github}/archive/v%{version}/%{name}-%{version}.tar.gz
8f9145
Source1:        grafana-pcp-deps-%{version}.tar.xz
8f9145
Source2:        create_dependency_bundle.sh
8f9145
8f9145
Patch0:         000-redis-support-wildcards-in-metric-names.patch
8f9145
Patch1:         001-redis-fix-legend-and-label-support.patch
8f9145
Patch2:         002-redis-pass-correct-timespec.patch
8f9145
8f9145
BuildRequires:  nodejs
8f9145
Requires:       grafana >= 6.2.2, grafana < 6.4.0
8f9145
Suggests:       pcp >= 5.0.0
8f9145
Suggests:       redis >= 5.0.0
8f9145
Suggests:       bpftrace >= 0.9.2
8f9145
8f9145
# Obsolete old webapps
8f9145
Obsoletes: pcp-webjs
8f9145
Obsoletes: pcp-webapp-blinkenlights
8f9145
Obsoletes: pcp-webapp-grafana
8f9145
Obsoletes: pcp-webapp-graphite
8f9145
Obsoletes: pcp-webapp-vector
8f9145
8f9145
# Bundled npm packages
8f9145
Provides: bundled(nodejs-@babel/cli) = 7.5.5
8f9145
Provides: bundled(nodejs-@babel/core) = 7.5.5
8f9145
Provides: bundled(nodejs-@babel/preset-env) = 7.5.5
8f9145
Provides: bundled(nodejs-@babel/preset-react) = 7.0.0
8f9145
Provides: bundled(nodejs-@babel/preset-typescript) = 7.3.3
8f9145
Provides: bundled(nodejs-@grafana/data) = 6.4.0
8f9145
Provides: bundled(nodejs-@grafana/ui) = 6.4.0
8f9145
Provides: bundled(nodejs-@types/benchmark) = 1.0.31
8f9145
Provides: bundled(nodejs-@types/d3) = 5.7.2
8f9145
Provides: bundled(nodejs-@types/grafana) = 4.6.3
8f9145
Provides: bundled(nodejs-@types/jest) = 24.0.17
8f9145
Provides: bundled(nodejs-@types/lodash) = 4.14.136
8f9145
Provides: bundled(nodejs-babel-jest) = 24.8.0
8f9145
Provides: bundled(nodejs-babel-loader) = 8.0.6
8f9145
Provides: bundled(nodejs-babel-plugin-angularjs-annotate) = 0.10.0
8f9145
Provides: bundled(nodejs-benchmark) = 2.1.4
8f9145
Provides: bundled(nodejs-clean-webpack-plugin) = 0.1.19
8f9145
Provides: bundled(nodejs-copy-webpack-plugin) = 5.1.1
8f9145
Provides: bundled(nodejs-core-js) = 3.1.4
8f9145
Provides: bundled(nodejs-css-loader) = 1.0.1
8f9145
Provides: bundled(nodejs-d3-flame-graph) = 2.1.8
8f9145
Provides: bundled(nodejs-d3-selection) = 1.4.0
8f9145
Provides: bundled(nodejs-expr-eval) = 1.2.3
8f9145
Provides: bundled(nodejs-jest) = 24.8.0
8f9145
Provides: bundled(nodejs-jest-date-mock) = 1.0.7
8f9145
Provides: bundled(nodejs-jsdom) = 9.12.0
8f9145
Provides: bundled(nodejs-lodash) = 4.17.15
8f9145
Provides: bundled(nodejs-memoize-one) = 5.1.1
8f9145
Provides: bundled(nodejs-mocha) = 6.2.0
8f9145
Provides: bundled(nodejs-prunk) = 1.3.1
8f9145
Provides: bundled(nodejs-q) = 1.5.1
8f9145
Provides: bundled(nodejs-regenerator-runtime) = 0.12.1
8f9145
Provides: bundled(nodejs-request) = 2.88.0
8f9145
Provides: bundled(nodejs-style-loader) = 0.22.1
8f9145
Provides: bundled(nodejs-ts-jest) = 24.0.2
8f9145
Provides: bundled(nodejs-ts-loader) = 4.5.0
8f9145
Provides: bundled(nodejs-tslint) = 5.18.0
8f9145
Provides: bundled(nodejs-tslint-config-airbnb) = 5.11.1
8f9145
Provides: bundled(nodejs-typescript) = 3.5.3
8f9145
Provides: bundled(nodejs-webpack) = 4.39.1
8f9145
Provides: bundled(nodejs-webpack-cli) = 3.3.6
8f9145
8f9145
8f9145
%description
8f9145
This Grafana plugin for Performance Co-Pilot includes datasources for
8f9145
scalable time series from pmseries(1) and Redis, live PCP metrics and
8f9145
bpftrace scripts from pmdabpftrace(1), as well as several dashboards.
8f9145
8f9145
%prep
8f9145
%setup -q
8f9145
%setup -q -a 1
8f9145
%patch0 -p1
8f9145
%patch1 -p1
8f9145
%patch2 -p1
8f9145
8f9145
%build
8f9145
rm -rf dist
8f9145
./node_modules/webpack/bin/webpack.js --config webpack.config.prod.js
8f9145
8f9145
# webpack/copy-webpack-plugin sometimes outputs files with mode = 666 due to reasons unknown (race condition/umask issue afaics)
8f9145
chmod -Rf a+rX,u+w,g-w,o-w dist
8f9145
8f9145
%check
8f9145
./node_modules/jest/bin/jest.js --silent
8f9145
8f9145
%install
8f9145
install -d -m 755 %{buildroot}/%{install_dir}
8f9145
cp -a dist/* %{buildroot}/%{install_dir}
8f9145
8f9145
%files
8f9145
%{install_dir}
8f9145
8f9145
%license LICENSE NOTICE
8f9145
%doc README.md
8f9145
8f9145
%changelog
8f9145
* Tue Jan 28 2020 Andreas Gerstmayr <agerstmayr@redhat.com> 1.0.5-3
8f9145
- redis: pass correct timespec to pmproxy (fixes empty graphs for large time ranges)
8f9145
8f9145
* Tue Jan 07 2020 Andreas Gerstmayr <agerstmayr@redhat.com> 1.0.5-2
8f9145
- redis: support wildcards in metric names
8f9145
- redis: fix legend and label support
8f9145
8f9145
* Mon Dec 16 2019 Andreas Gerstmayr <agerstmayr@redhat.com> 1.0.5-1
8f9145
- upgrade to upstream 1.0.5
8f9145
- flame graphs: clean flame graph stacks every 5s (reduces CPU load)
8f9145
- general: implement PCP version checks
8f9145
- redis: set default sample interval to 60s (fixes empty graph borders)
8f9145
8f9145
* Mon Dec 16 2019 Andreas Gerstmayr <agerstmayr@redhat.com> 1.0.3-2
8f9145
- remove node_modules/node-notifier directory from webpack (due to licensing issues)
8f9145
- upgrade copy-webpack-plugin, terser-webpack-plugin and remove uglifyjs-webpack-plugin to mitigate XSS vulnerability in serialize-javascript dependency
8f9145
8f9145
* Tue Nov 26 2019 Nathan Scott <nathans@redhat.com> 1.0.3-1
8f9145
- fix flame graph dependency (flamegraph.destroy error in javascript console)
8f9145
8f9145
* Tue Nov 12 2019 Andreas Gerstmayr <agerstmayr@redhat.com> 1.0.2-1
8f9145
- handle counter wraps (overflows)
8f9145
- convert time based counters to time utilization
8f9145
- flame graphs: aggregate stack counts by selected time range in the Grafana UI
8f9145
- flame graphs: add option to hide idle stacks
8f9145
- vector: fix container dropdown in query editor
8f9145
- vector: remove container setting from datasource settings page
8f9145
- redis: fix value transformations (e.g. rate conversation of counters)
8f9145
- request more datapoints from the datasource to fill the borders of the graph panel
8f9145
8f9145
* Fri Oct 11 2019 Andreas Gerstmayr <agerstmayr@redhat.com> 1.0.0-1
8f9145
- bpftrace: support for Flame Graphs
8f9145
- bpftrace: context-sensitive auto completion for bpftrace probes, builtin variables and functions incl. help texts
8f9145
- bpftrace: parse output of bpftrace scripts (e.g. using `printf()`) as CSV and display it in the Grafana table panel
8f9145
- bpftrace: sample dashboards (BPFtrace System Analysis, BPFtrace Flame Graphs)
8f9145
- vector: table output: show instance name in left column
8f9145
- vector: table output: support non-matching instance names (cells of metrics which don't have the specific instance will be blank)
8f9145
- vector & bpftrace: if the metric/script gets changed in the query editor, immeditately stop polling the old metric/deregister the old script
8f9145
- vector & bpftrace: improve pmwebd compatibility
8f9145
- misc: help texts for all datasources (visible with the **[ ? ]** button in the query editor)
8f9145
- misc: renamed PCP Live to PCP Vector
8f9145
- misc: logos for all datasources
8f9145
- misc: improved error handling
8f9145
8f9145
* Fri Aug 16 2019 Andreas Gerstmayr <agerstmayr@redhat.com> 0.0.7-1
8f9145
- converted into a Grafana app plugin, renamed to grafana-pcp
8f9145
- redis: support for instance domains, labels, autocompletion, automatic rate conversation
8f9145
- live and bpftrace: initial commit of datasources
8f9145
8f9145
* Tue Jun 11 2019 Mark Goodwin <mgoodwin@redhat.com> 0.0.6-1
8f9145
- renamed package to grafana-pcp-redis, updated README, etc
8f9145
8f9145
* Wed Jun 05 2019 Mark Goodwin <mgoodwin@redhat.com> 0.0.5-1
8f9145
- renamed package to grafana-pcp-datasource, README, etc
8f9145
8f9145
* Fri May 17 2019 Mark Goodwin <mgoodwin@redhat.com> 0.0.4-1
8f9145
- add suggested pmproxy URL in config html
8f9145
- updated instructions and README.md now that grafana is in Fedora
8f9145
8f9145
* Fri Apr 12 2019 Mark Goodwin <mgoodwin@redhat.com> 0.0.3-1
8f9145
- require grafana v6.1.3 or later
8f9145
- install directory is now below /var/lib/grafana/plugins
8f9145
8f9145
* Wed Mar 20 2019 Mark Goodwin <mgoodwin@redhat.com> 0.0.2-1
8f9145
- initial version