Adding Tags to a Request
You can use tagging to supply extra context on errors and performance incidents. Tagging can help to add information that is not already part of a request, such as the session data, headers, environment data, or parameters. Tags can also be used to filter on samples within an incident to find all errors for a specific user or slow pages for a particular locale.
You can set tags wherever the current transaction or span is accessible. We recommend calling it before your application code runs in a request, such as a callback. You can see what tags apply to a sample on the Error and Performance incident page.
Using Link Templates it's possible to add links to your application with tag data, such as the admin panel for the signed-in user. You can see this in practice in the below screenshot, with the Link 1
and Link 2
tags.
Ruby
With the AppSignal for Ruby gem, use the Appsignal.add_tags
helper methods to add tags to error and performance samples. On Ruby gem version 3 and older, use the Appsignal.set_tags
helper.
You can use Appsignal.add_tags
wherever an active transaction is accessible, we recommend calling it before your application code runs in the request, such as in a before_action
using Rails.
Limitations
Tags that do not meet these limitations are dropped without warning.
- The tag key must be a String or Symbol.
- The tagged value must be a String, Symbol, Integer or Boolean (true/false).
- Boolean values are supported in Ruby gem 3.11 and newer.
- The length of the tag value must be less than 256 characters.
- Nested hash values are not supported for tags, please use custom data instead.
Elixir
Use the Appsignal.Span.set_sample_data
function to supply extra context on errors and performance samples. Use the "tags"
sample key for the function to add tags to the span.
Last call is leading
The set_sample_data
helper can be called multiple times, but only the last value will be retained. When the code is run below:
it will result in the following tags being stored:
Setting sample data on a span
To add sample data to a span as soon as it's created, add a custom_on_create_fun
:
Then, add it to your app's configuration:
The custom_on_create_fun
requires AppSignal for Elixir version 2.8.3 or higher.
Limitations
Tags that do not meet these limitations are dropped without warning.
- The tag key must be a
String
orAtom
. - The tagged value must be a
String
,Atom
orInteger
. - The length of the tag value must be less than 256 characters.
- Nested map values are not supported for tags, please use custom data instead.
Node.js
Import the setTag
helper function to add tags to spans for errors and performance samples.
Limitations
Tags that do not meet these limitations are dropped without warning.
- The tag key must be a
String
. - The tagged value must be a
String
,Number
orBoolean
. - The length of the tag value must be less than 256 characters.
- Nested object values are not supported for tags, please use the
setCustomData
helper function instead.
Python
Import the set_tag
helper method to add tags to spans for errors and performance samples.
Limitations
Tags that do not meet these limitations are dropped without warning.
- The tag key must be a String.
- The tagged value must be a String, Integer, Float or Boolean.
- The length of the tag value must be less than 256 characters.
- Nested object values are not supported for tags, please use the
set_custom_data
helper function instead.