ReportSystemCacheFlushToNewRelic.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\NewRelicReporting\Model\Observer;
  7. use Magento\Framework\Event\Observer;
  8. use Magento\Framework\Event\ObserverInterface;
  9. use Magento\NewRelicReporting\Model\Config;
  10. /**
  11. * Class ReportSystemCacheFlushToNewRelic
  12. */
  13. class ReportSystemCacheFlushToNewRelic implements ObserverInterface
  14. {
  15. /**
  16. * @var Config
  17. */
  18. protected $config;
  19. /**
  20. * @var \Magento\Backend\Model\Auth\Session
  21. */
  22. protected $backendAuthSession;
  23. /**
  24. * @var \Magento\NewRelicReporting\Model\Apm\DeploymentsFactory
  25. */
  26. protected $deploymentsFactory;
  27. /**
  28. * @param Config $config
  29. * @param \Magento\Backend\Model\Auth\Session $backendAuthSession
  30. * @param \Magento\NewRelicReporting\Model\Apm\DeploymentsFactory $deploymentsFactory
  31. */
  32. public function __construct(
  33. Config $config,
  34. \Magento\Backend\Model\Auth\Session $backendAuthSession,
  35. \Magento\NewRelicReporting\Model\Apm\DeploymentsFactory $deploymentsFactory
  36. ) {
  37. $this->config = $config;
  38. $this->backendAuthSession = $backendAuthSession;
  39. $this->deploymentsFactory = $deploymentsFactory;
  40. }
  41. /**
  42. * Report system cache is flushed to New Relic
  43. *
  44. * @param Observer $observer
  45. * @return void
  46. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  47. */
  48. public function execute(Observer $observer)
  49. {
  50. if ($this->config->isNewRelicEnabled()) {
  51. $user = $this->backendAuthSession->getUser();
  52. if ($user->getId()) {
  53. $this->deploymentsFactory->create()->setDeployment(
  54. 'Cache Flush',
  55. $user->getUserName() . ' flushed the cache.',
  56. $user->getUserName()
  57. );
  58. }
  59. }
  60. }
  61. }