Plugins 〉Polystat


Developer

Grafana Project

Sign up to receive occasional product news and updates:



Panel
grafana

Polystat

  • Overview
  • Installation
  • Change log
  • Related content

Grafana Polystat Panel

Marketplace Downloads License Known Vulnerabilities Maintainability Test Coverage

The Polystat panel plugin provides a D3-based multi-stat panel for Grafana 9.5 or later.

This plugin creates an hexagon for each metric received, and allows you to group metrics into a composite metric and display the triggered state of the composite. The plugin supports autoscaling for best-fit sizing of each polygon to the panel size. When the complete text cannot be displayed, only tooltips are active.

See the following examples:

All visible

polystat-v2-agent-all-visible

Scaled down

polystat-v2-agent-scaled-down

Scaled down with tooltip

polystat-v2-agent-scaled-down-tooltip

Settings and options

This panel provides a large number of settings customization options, and are searchable from the menu. For more info, see General settings and Options.

Clickthrough URLs

Use this setting to indicate the URL to open when clicking the polygon. Find more information in Use Clickthrough URLs.

Set thresholds

This plugin supports "ranged" states. See how to Set thresholds.

Overrides

Use overrides to apply additional rendering options for metrics, including custom thresholds and clickthroughs. Learn more.

Composites

Composites allow you to combine multiple metrics into a single representation that reflects the "worst" state of the metrics combined. See how at Composites.

Value mappings

This is a built-in option in Grafana and behaves as documented in Configure value mappings.

Note that color assignments are ignored, and only threshold colors are applied.

Build the plugin

This plugin relies on the Plugin Tools typical build sequence:

yarn install
yarn build

The code is parsed and copied into "dist" if "tslint" passes without errors.

For development, you can run:

yarn dev

Docker Support

The plugin includes a docker-compose.yml file for development and testing.

To use it run:

docker-compose up

Then browse to http://localhost:3000

Enable Grafana TestData

Grafana TestData is not enabled by default.

To enable it, navigate to the Plugins section in your Grafana main menu. Click the Apps tabs in the Plugins section and select the Grafana TestData App. Alternatively navigate directly to http://your_grafana_instance/plugins/testdata/edit. Finally click the enable button to enable.

Acknowledgements

This panel is based on this D3 example:

Many thanks to contributors:

  • Mathieu Rollet (matletix)
  • Mattias Jiderhamn (mjiderhamn)
  • AnushaBoggarapu
  • KamalakarGoretta
  • Rene Hennig (renehennig)
  • Hamza Ziyani (HZiyani)

and many others!

Installing Polystat on Grafana Cloud:

For more information, visit the docs on plugin installation.

Change Log

Entries

v2.1.16

  • New docs now available!
  • Fixes metric hints for overrides and composites
  • Package dependencies updated

v2.1.15

  • New Feature - Templated Polygon Sizing [#354]
    • When font autoscaling is disabled these four options become available
      1. Label Font Size
      2. Value Font Size
      3. Timestamp Font Size
      4. Composite Value Font Size
  • Force uplot dependency to resolve to 1.6.32 (package is not used)
  • Fixes [#411]
  • Fixes [#404]
  • Fixes [#427]

v2.1.14

  • Fix for auto-generation of composites. Depending on the format of metric names some groupings overlapped. This feature now requires an exact match instead of a wildcard.
  • Fixes #425
  • Fixes [#426]
  • Minimum version of Grafana is now v9.5 due to API changes

v2.1.13

  • Fix for id conflicts #413
  • Adds natural sort #410

v2.1.12

  • Fix for runtime differences causing parsing errors #387 and #389

v2.1.11

  • Fix for show/hide metric value in composites #383
  • Fix for value toggle in tooltips #381
  • NEW: Tooltips now have a toggle for showing values

v2.1.10

  • Fix for filtering triggered composites in tooltips #368
  • Remove deprecated ArrayVector usage (G11 compatibility)

v2.1.9

  • NEW: Option to display timestamp of metric inside polygon, available in Global Configuration Section
    • Show Timestamp Toggle on/off
    • Preset time formats, and allows entry of arbitrary format
    • Position of timestamp can be above or below the metric value (default is below)
    • Y Offset can be specified to fine tune placement of timestamp displayed
  • Fixed alignment bug when name or value is disabled, will now align correctly (and use more space)

v2.1.8

  • Tooltips will now display newest time of data received, and current time if none is supplied

v2.1.7

  • Fix for using ${__composite_name} in clickthrough
  • Update dependencies

v2.1.6

  • Fix for repeat panel usage of template variables not expanding correctly #331

v2.1.5

  • Fixes rendering of composites when template variables changes
  • Refactor/Cleanup code, slightly more efficient

v2.1.4

  • Fix tooltips being displayed from wrong panel #314 #315
  • Fix ellipses showing when they are not needed #322
  • Fix alignment based on shape #322
    • When autoSizeRows or autoSizeColumns are disabled, the placement will be centered based on actual number of polygons rendered
  • NEW: Clickthrough target can be customized, allowing better behavior in Scene-based apps. #316. Set "open in new tab" to off to use this new setting.

v2.1.3

  • Bump to Node 18
  • Update package
  • Fix for SQL result processing [#309] and #269
  • Fix for tooltip crashing #307
  • NEW: Global Regex Aliasing for composites #301

v2.1.2

  • Allow display limit of 0 for unlimited polygons #298

v2.1.1

  • Fixes display limit bug #255
  • Fixes performance issues with G10 #294

v2.1.0

  • Fixes tooltips being left behind when mousing out of panel in G10
  • Switched to react-tooltips vs tippyjs and leveraging UI Portal component
  • Performance improved due to dynamic generation of tooltips vs pre-creation
  • Tooltip now follows theme

v2.0.9

  • Fixes multi-select templated composite bug
  • Enhances metric hints for composites and overrides to cover more dataframe options

v2.0.8

  • Adds support for additional metric hints depending on the structure of the frames received.

v2.0.7

  • Fixes metric hint errors when using overrides and composites

v2.0.6

  • Add Font Selector for rendered text. The new default is Inter, and migrations will auto-switch to this new font.
    • Additional fonts are available, and the auto-scalar will adjust for differences
    • Tooltips also can have separate fonts
  • Adds option to toggle tooltip columns (Issue #259), PR #260

v2.0.5

  • Fix for Issue #249, bug in migrations when upgrading plugin
  • Fix for Issue #256, global override editor displays wrong column
  • Fix for low-risk XSS in composite animations

v2.0.4

  • Fix for Issue #242 (wide data conversion) Some datasources will send non-timeseries dataframes that are "wide" and the conversion to the polystat model did not handle this scenario. This is seen with CSV Content and other datasources. This fix will detect wide data received in this format and convert as expected.
  • Fix for Issue #247 (composite template variables) Advanced use of template variables in composites were not functioning as intended. Composites can once again use template variables as the composite name, and reference the composite name inside the list of member metrics.
  • Metric Hints in composites and overrides are now displaying correctly
  • Override Editor buttons are now left aligned for easier access and visibility
  • Composite Editor buttons are also left aligned, and are now visible
  • Composite Editor metrics should be easier to see and alias

v2.0.3

  • Fix for Issue #241 (Global Threshold Migration)

v2.0.2

  • Fix for issue #240
    • Global regex will now correctly modify the display name
    • Using transformations for metric data also works (Rename by regex and others)

v2.0.1

  • Fixes ability to use template variables inside composite names
  • Fixes hide/show composite member metrics when they overlap in multiple composites

v2.0.0

  • Plugin has been converted to React
  • Existing panels will auto-migrate to the new config schema
  • Feature parity with v1.2.11, including bug fixes
  • Documentation re-written to reflect the change to editors
  • Advanced examples are provided

v1.2.11

  • Fixes valueMappings for v8.0.x and v9.x

v1.2.10

  • Fixed issue with Grafana v9.0.0 (release)

v1.2.9

  • Now compatible with Grafana v9.0.0 (beta3)

v1.2.8

  • New Feature: Overrides can reference regex capture groupings for clickthrough urls
  • New Feature: Name of an override can be set
  • Fix for exported panel JSON containing extra fields

v1.2.7

  • Fix for multiple queries not displaying when one or more contain no data
  • Sorting by field "value" now works #205
  • Fix default fill color #201
  • Display "NO DATA" instead of blank panel #199
  • Minor auto-layout adjustment for better fit

v1.2.6

  • Add support for global aliasing using regular expression
  • Fix custom border color #197
  • Updated docs

v1.2.5

  • Fix for null data from a query stopping processing other queries

v1.2.4

  • Convert to use dataframes
  • Add support for Ellipses when using Fixed Font Size Labels
  • Add support for composite creation using template variable

v1.2.3

  • Fix for polygon click-through causing incorrect fill color, Issues #174 #154
  • Support global value mappings in Overrides #164, Issue #159
  • Compute X and Y mouse positions in mouseover #166, Issue #163
  • Increase polystat-panel-tooltip z-index #165, Issue #130
  • Fix for composite threshold evaluation using global thresholds #174, Issues #158 and #173
  • Fix for default warning color not rendering correctly #179
  • Feature: Tooltip can now be disabled (on by default), PR 158

v1.2.2

  • Fix for gradient threshold color issue #126

v1.2.1

  • Update for v6 event compatibility
  • Global hide/value feature
  • Fix for custom sizing #136
  • Text alignment fix for "square" and "circle" shapes
  • Fix for crashing issue #135
  • Fix for tooltip width #133

v1.2.0

  • Grafana 7.0.0 release with plugin signing

v1.1.0

  • New: Sort options for polygons and tooltips (issue #37)
  • New: Square-shape polygon now available (issue #92)
  • New: Optional Global thresholds
  • New: Sorting options for values and labels of polygons
  • New: Templating support for overrides and composites

v1.0.16

  • fixes variable encoding in clickthrough urls

v1.0.15

  • implemented metric referencing for clickthroughs (issue #38)
  • implemented composite name referencing
  • implemented template variables for clickthroughs
  • fixed bug with default clickthrough and sanitize url

v1.0.14

  • Update Logo
  • Fixed threshold evaluation
  • Added global fill color option
  • Autoscaling fonts has better results
  • Refactor UI for overrides, implement enable/disable
  • Refactor UI for composites, implement enable/disable
  • Implement global fill color for no thresholds
  • Now correctly parses custom color selection

v1.0.13

  • Default to roboto font
  • Default to short units and 2 decimals
  • Moved panel options outside of saved config
  • Add global unit format and global decimals
  • No longer errors when thresholds not found
  • Refactor thresholds to allow range evaluation in overrides
  • Refactor and implement custom gradients for overrides

v1.0.12

  • Fixed composite state evaluations
  • Added ability to set color and size of polygon border
  • Single shape now centers itself
  • Non-composites now show their value if possible
  • New tests added to verify fixes

v1.0.11

  • Panel no longer shares data/affects other panels of same type

v1.0.1

  • Added Options -> Show Timestamp checkbox for tooltips

v1.0.0

  • Initial commit