New Relic transactions grouping by queue names

Edit on GitHub

By default, the spryker/monitoring module groups all New Relic transactions generated from a console command by the command’s name. For example, ooms:check-timeout.

This strategy works in most cases, and you can still query the data from a needed queue using NRQL. But you might want to override this behavior.

For example, you run multiple commands like queue:task:start publish.product_abstract and queue:task:start sync.storage.url. With the default naming strategy, all the calls of the command will be grouped together by queue:task:start. Transaction data is aggregated under the same name for all types of queue processors.

In New Relic dashboard, this looks as follows:

Transactions under the same name

Group transactions by queue name

As queue name usually comes as the first argument of a command, to enable grouping by names, you need to need to enable grouping by the first argument as follows:

  1. Integrate the spryker/monitoring module.
  2. Provide an advanced extendable infrastructure for New relic monitoring transaction naming strategies. This lets you implement, configure, and override the default transaction naming behavior.
  3. Implement the strategy that enables configured console commands to apply naming that groups transaction by command name and first argument.
  4. Enable the new strategy for queue:task:start on the project level.

As a result, the transactions are displayed as follows:

Aggregation of transactions

Integrate New Relic transactions grouping by queue names

For instructions, see Integrate New Relic transactions grouping by queue names.

Implementation details

New Relic transaction grouping by name implementation details