tag-enrichment-plugin
This plugin extends the tag extraction feature by allowing to dereference / enrich a tag from data of your own system and inject these in the UI.
For instance, a tag could extract the city id of the client of the requests, and get the city name from the system under monitoring. Then filtering becomes easier, and Excel extract, statistics and grid becomes more meaningful.
Signature
function myOwnPlugin({
inputs: {name, values, mode},
parameters: {},
callbacks: {setDecodedTags, onShowInfo, onShowError, onShowWarning },
libs: {React}
}){}
The plugin is called:
- For each row, and each displayed
Tagin the Grid or Excel export - For each group for stats grouped by
Tagand Excel export - For each
Tagin the HTTP details panel - For all
Tagvalues for the Filters component in the grid header - To display the
Tagvalue in the filter badge when it is selected
Depending on the call, the output is requested in REACT components mode (grids and details) or in TEXT mode (Excel, filters)
Input
| Name | Description |
|---|---|
| name | Name of the tag |
| values | Array of tag values |
| mode | REACT or TEXT for the output type |
Callbacks
onShowInfo(message)
Displays an Information toast with the message.
onShowWarning(message)
Displays a Warning toast with the message.
onShowError(message)
Displays an Error toast with the message.
setDecodeTags([])
Callback expected in output.
Expects an array of decoded values, in the same order, without holes as the values array input.
Output
Output must be sent both:
- Using
setDecodedTagscallback - With a
return value(of the promise)
Plugin example
Streetsmart park tag enrichment plugin
The plugin dereferences Park tags to display park name and parkCode.
For the plugin to work, Spider tags must be configured to extract park id from the HTTP requests & responses.
Parameters
The plugin takes 3 parameters:

- Environment: Streetsmart environment to calls to dereference the filters
- Login & password: Account used to connect to Streetsmart
- The account must exists on the selected environment.
- For now, it has been created in SIT0, SIT1 and SVT2
Result
- In grid

- In filter list

- In selected filters
- In details
- In stats

- In excel exports
Code
The code is private in Flowbird bitbucket repo: sss-park-tag-enrichment-spiderplugin
The plugin:
- Request
/park/{id}if less than 5 parks to resolve - Build queryString queries if more than 5 parks, by grouping by 25 parks buckets
- Cache the results not to ask several times
- Blocks parallel requests not to ask simultaneously resolving of the same park
All this in a few lines, many nice patterns to reuse !! :-D