Template Functions
Template functions allow you to process labels and annotations to generate dynamic notifications.
Name | Argument type | Return type | Description |
---|---|---|---|
humanize | number or string | string | Converts a number to a more readable format, using metric prefixes. |
humanize1024 | number or string | string | Like humanize, but uses 1024 as the base rather than 1000. |
humanizeDuration | number or string | string | Converts a duration in seconds to a more readable format. |
humanizePercentage | number or string | string | Converts a ratio value to a fraction of 100. |
humanizeTimestamp | number or string | string | Converts a Unix timestamp in seconds to a more readable format. |
title | string | string | strings.Title, capitalises first character of each word. |
toUpper | string | string | strings.ToUpper, converts all characters to upper case. |
toLower | string | string | strings.ToLower, converts all characters to lower case. |
match | pattern, text | boolean | regexp.MatchString Tests for a unanchored regexp match. |
reReplaceAll | pattern, replacement, text | string | Regexp.ReplaceAllString Regexp substitution, unanchored. |
graphLink | string - JSON Object with "expr" and "datasource" fields |
string | Returns the path to graphical view in Explore for the given expression and data source. |
tableLink | string- JSON Object with "expr" and "datasource" fields |
string | Returns the path to tabular view in Explore for the given expression and data source. |
args | []interface{} | map[string]interface{} | Converts a list of objects to a map with keys, for example, arg0, arg1. Use this function to pass multiple arguments to templates. |
externalURL | nothing | string | Returns a string representing the external URL. |
pathPrefix | nothing | string | Returns the path of the external URL. |
Examples
humanize
Template string { humanize $value }
Input 1234567.0
Expected 1.235M
humanize1024
TemplateString { humanize1024 $value }
Input 1048576.0
Expected 1Mi
humanizeDuration
TemplateString { humanizeDuration $value }
Input 899.99
Expected 14m 59s
humanizePercentage
TemplateString { humanizePercentage $value }
Input 0.1234567
Expected 12.35%
humanizeTimestamp
TemplateString { $value | humanizeTimestamp }
Input 1435065584.128
Expected 2015-06-23 13:19:44.128 +0000 UTC
title
TemplateString { $value | title }
Input aa bb CC
Expected Aa Bb Cc
toUpper
TemplateString { $value | toUpper }
Input aa bb CC
Expected AA BB CC
toLower
TemplateString { $value | toLower }
Input aA bB CC
Expected aa bb cc
match
TemplateString { match "a+" $labels.instance }
Input aa
Expected true
reReplaceAll
TemplateString {{ reReplaceAll "localhost:(.*)" "my.domain:$1" $labels.instance }}
Input localhost:3000
Expected my.domain:3000
graphLink
TemplateString {{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
Expected /explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]
tableLink
TemplateString {{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
Expected /explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]
args
TemplateString {{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}
Expected 1 2
externalURL
TemplateString { externalURL }
Expected http://localhost/path/prefix
pathPrefix
TemplateString { pathPrefix }
Expected /path/prefix
Related Grafana Cloud resources
Intro to Prometheus and Grafana Cloud
Prometheus is taking over the monitoring world! In this webinar, we will start with a quick introduction to the open source project that’s the de facto standard for monitoring modern, cloud native systems.
How to set up and visualize synthetic monitoring at scale with Grafana Cloud
Learn how to use Kubernetes, Grafana Loki, and Grafana Cloud’s synthetic monitoring feature to set up your infrastructure's checks in this GrafanaCONline session.
Using Grafana Cloud to drive manufacturing plant efficiency
This GrafanaCONline session tells how Grafana helps a 75-year-old manufacturing company with product quality and equipment maintenance.