plugins

module
v0.0.0-...-40c867d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2026 License: Apache-2.0

README

Perses Plugins

This repository contains the core plugins for Perses

Development

As prerequisites, you need:

You should first run npm install at the root of the repository.

Then in perses repository:

  1. Update the Perses configuration config.yaml to use development server for this plugin:

    plugin:
      enable_dev: true
    
  2. Start the backend: ./scripts/api_backend_dev.sh

  3. Login percli to the backend percli login http://localhost:8080

  4. Start the plugin development server: percli plugin start /path/to/the/plugin/dir

Code quality

Run npm run lint for the regular Oxlint checks, including the React Doctor rules configured in .oxlintrc.json. Run npm run doctor for the full React Doctor project scan. Pull requests and pushes to main also run the scan in GitHub Actions.

Working with Snapshots

This will allow you to use the updates from perses core in your plugin so you can test the changes.

  1. In perses/shared create a snapshot. Snapshots will be released in npm:
  1. Copy the name of your snapshot, for example v0.0.0-snapshot-panel-actions-520389b.

  2. In perses/plugin, navigate to the plugin you are changing and install the snapshot npm packages, this should be installed as "dependencies" NOT "peerDependencies" for example:

# perses/plugins/timeserieschart/package.json

"dependencies": {
    "color-hash": "^2.0.2"
+   "@perses-dev/components": "v0.0.0-snapshot-panel-actions-520389b",
+   "@perses-dev/plugin-system": "v0.0.0-snapshot-panel-actions-520389b"
  },
  "peerDependencies": {
    "@emotion/react": "^11.7.1",
    "@emotion/styled": "^11.6.0",
    "@hookform/resolvers": "^3.2.0",
-   "@perses-dev/components": "^0.51.0-rc.1",
-   "@perses-dev/plugin-system": "^0.51.0-rc.1",
    "date-fns": "^4.1.0",
    "date-fns-tz": "^3.2.0",
    "echarts": "5.5.0",
    "lodash": "^4.17.21",
    "react": "^17.0.2 || ^18.0.0",
    "react-dom": "^17.0.2 || ^18.0.0",
    "use-resize-observer": "^9.0.0",
    "immer": "^10.1.1"
  }
  1. Then run npm install on the plugin folder to update the dependencies of your plugin (e.g., cd perses/plugins/timeserieschart && npm install).

Directories

Path Synopsis
alertmanager module
barchart module
clickhouse module
flamechart module
gaugechart module
heatmapchart module
logstable module
loki module
markdown module
piechart module
prometheus module
pyroscope module
scatterchart module
scripts
build-plugins command
bump-deps command
bump-plugin command
check-license command
cue-publish command
golangci-lint command
lint-plugins command
npm
npm-publish command
release command
tag
tidy-modules command
upload-archive command
splunk module
statchart module
table module
tempo module
tracetable module
victorialogs module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL