diff --git a/app/code/Magento/NewRelicReporting/Model/NewRelicWrapper.php b/app/code/Magento/NewRelicReporting/Model/NewRelicWrapper.php
index 9882a1ce9b0b8..bce42b4e90074 100644
--- a/app/code/Magento/NewRelicReporting/Model/NewRelicWrapper.php
+++ b/app/code/Magento/NewRelicReporting/Model/NewRelicWrapper.php
@@ -21,7 +21,7 @@ class NewRelicWrapper
      */
     public function addCustomParameter($param, $value)
     {
-        if (extension_loaded('newrelic')) {
+        if ($this->isExtensionInstalled()) {
             newrelic_add_custom_parameter($param, $value);
             return true;
         }
@@ -36,7 +36,7 @@ public function addCustomParameter($param, $value)
      */
     public function reportError($exception)
     {
-        if (extension_loaded('newrelic')) {
+        if ($this->isExtensionInstalled()) {
             newrelic_notice_error($exception->getMessage(), $exception);
         }
     }
@@ -49,11 +49,24 @@ public function reportError($exception)
      */
     public function setAppName(string $appName)
     {
-        if (extension_loaded('newrelic')) {
+        if ($this->isExtensionInstalled()) {
             newrelic_set_appname($appName);
         }
     }
 
+    /**
+     * Wrapper for 'newrelic_name_transaction'
+     *
+     * @param string $transactionName
+     * @return void
+     */
+    public function setTransactionName(string $transactionName): void
+    {
+        if ($this->isExtensionInstalled()) {
+            newrelic_name_transaction($transactionName);
+        }
+    }
+
     /**
      * Checks whether newrelic-php5 agent is installed
      *
diff --git a/app/code/Magento/NewRelicReporting/Plugin/CommandPlugin.php b/app/code/Magento/NewRelicReporting/Plugin/CommandPlugin.php
new file mode 100644
index 0000000000000..04ad3d0504d34
--- /dev/null
+++ b/app/code/Magento/NewRelicReporting/Plugin/CommandPlugin.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\NewRelicReporting\Plugin;
+
+use Magento\NewRelicReporting\Model\Config;
+use Magento\NewRelicReporting\Model\NewRelicWrapper;
+use Symfony\Component\Console\Command\Command;
+
+/**
+ * Describe NewRelic commands plugin.
+ */
+class CommandPlugin
+{
+    /**
+     * @var Config
+     */
+    private $config;
+
+    /**
+     * @var NewRelicWrapper
+     */
+    private $newRelicWrapper;
+
+    /**
+     * @param Config $config
+     * @param NewRelicWrapper $newRelicWrapper
+     */
+    public function __construct(
+        Config $config,
+        NewRelicWrapper $newRelicWrapper
+    ) {
+        $this->config = $config;
+        $this->newRelicWrapper = $newRelicWrapper;
+    }
+
+    /**
+     * Set NewRelic Transaction name before running command.
+     *
+     * @param Command $command
+     * @param array $args
+     * @return array
+     */
+    public function beforeRun(Command $command, ...$args)
+    {
+        $this->newRelicWrapper->setTransactionName(
+            sprintf('CLI %s', $command->getName())
+        );
+
+        return $args;
+    }
+}
diff --git a/app/code/Magento/NewRelicReporting/etc/di.xml b/app/code/Magento/NewRelicReporting/etc/di.xml
index bab7d6611f14b..15516f6df89be 100644
--- a/app/code/Magento/NewRelicReporting/etc/di.xml
+++ b/app/code/Magento/NewRelicReporting/etc/di.xml
@@ -40,4 +40,7 @@
             </argument>
         </arguments>
     </type>
+    <type name="Symfony\Component\Console\Command\Command">
+        <plugin name="newrelic-describe-commands"  type="Magento\NewRelicReporting\Plugin\CommandPlugin"/>
+    </type>
 </config>