Render Variables API

Contents

Render Variables provide versatility when constructing metric queries. Instead of hard-coding full metric names, use variables as placeholders to dynamically build your queries. This is similar, but not the same as the primary dashboard’s built-in template variables.

NOTE: we advise against using render variables in alert queries.

Create a variable

POST /v1/variables/<var-name>/

Replace <var-name> with the name you want to give the variable. Place your variable values in a JSON file and include it in the POST request. A variable name is required, however the values can be empty.

Example variable values:

{
  "values": [
    "foobar",
    "foo",
    "bar",
    "baz"
  ]
}

Curl example:

curl -X POST "https://YOUR-API-KEY@api.hostedgraphite.com/v1/variables/<var-name>/" -d @values.json

Make sure to include the forward slash character at the end of the request.


Update a variable

PUT /v1/variables/<var-name>/

Overwrites the values for an existing variable

Curl example:

curl -X PUT "https://<apikey>@api.hostedgraphite.com/v1/variables/<var-name>/" -d @values.json

Search Variables

GET /v1/variables/?query=

A “contains” query that will return a JSON object with the name and path of variables that contain the search term. To list all variables, leave the query empty.

Path Parameters

NameTypeDescription

query

String

Curl example:

curl -X GET "https://<apikey>@api.hostedgraphite.com/v1/variables/?query="

If you have no variables or there are no variables that match your query you will be returned with an empty object:

{
  "variables": []
}

Get variable values

GET /v1/variables/<var-name>/

Returns a JSON object with the values assigned to <var-name>

Curl example:

curl -X GET "https://<apikey>@api.hostedgraphite.com/v1/variables/<var-name>/"

Delete a variable

DELETE /v1/variables/<var-name>/

Curl example:

curl -X DELETE "https://<apikey>@api.hostedgraphite.com/v1/variables/<var-name>/"

This cannot be done with the simple query builder, you must toggle the edit mode to the free-text mode.

Refer to a render variable by including the variable name enclosed in angled brackets in your metric query: <variable-name>

Using dashboard templates within render variables

You can place template variables within render variables by surrounding them with curly brackets:

$foo.<{$foo}_metric>.bar

Last updated