7.0 KiB
		
	
	
	
	
	
			
		
		
	
	| aliases | keywords | title | weight | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 
 | 
 | Template functions | 125 | 
Template Functions
Template functions allow you to process alert evaluation results 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