Skip to content

A lightweight collection of CRM Analytics dashboards for gaining a better understanding of Event Monitoring data.

Notifications You must be signed in to change notification settings

FeldhackerChrisPFG/eventmonitoringplus

 
 

Repository files navigation

Event Monitoring Plus

A lightweight collection of CRM Analytics dashboards for gaining a better understanding of Event Monitoring data.

Installation Instructions

Prerequisite: Setting Up The Log Ingestion process:

Easy Option: CRM Analytics Templated App

  • (If the "Event Monitoring Analytics" CRM Analytics app is already running with the below-listed log types, you can skip to Package Deployment)
  • Select a sandbox or production org
  • Ensure Event Monitoring Analytics is enabled
  • Assign permissions to users
  • Create the analytics app
    • Hard Requirement: must include following log types:
      • ApexExecution
      • ApexUnexpectedException
      • ApexCallout
      • ApexRestApi
      • ApexSoap
      • ApexTrigger
      • API
      • BulkApi
      • ConcurrentLongRunningApexLimit
      • LightningInteraction
      • LightningPageView
      • Login
      • Report
      • RESTApi

Harder Option: Set up a custom process to push Event Logs into CRM Analytics

Deploying the new dashboards

Easy Option: Automate Deployment via Heroku App

Use the button below to authenticate with the Heroku app. Make sure to enter 'main' in the Branch/Tag/Commit field.

Deploy to Salesforce

Manual Deployment

Installation guide

  • It is recommended to use Salesforce DX or Workbench to perform the deployment, as per the video installation guide link, above.
  • Identify the API name of the above-mention datasets in CRM Analytics that you wanted to analyse.
  • These should be datasets that are regularly updated, as part of whichever log ingestion process you've configured above.
  • To identify the API name of a dataset, follow these steps to reach the edit page and note the 'API Name' in the top-left.
  • This package assumes that the dataset names are the first or only iteration of the log ingestion process, and hence uses simple dataet names, like, for example "ApexExecutionWithUsers" for the ApexExecutionWithUsers log file. (If you have gone through several iterations of creating the CRM Analytics templated app, you may end up with dataset names like "ApexExecutionWithUsers1" or "ApexExecutionWithUsers5" (if you've been unlucky enough to create it 5 times)).
  • If your dataset names are different / have numbers as suffixes, download the package, edit the .wdash (Wave Dashboard) files, and Find/Replace with the appropriate dataset API name from your environment (e.g. "LightningPageViewWithUsers" with "LightningPageViewWithUsers1"). (User_Activities.wdash uses the LightningInteractionWithUsers and LightningPageViewWithUsers datasets; Apex_Performance.wdash uses ApexExecutionWithUsers; Apex_Exceptions.wdash uses ApexUnexpectedException).
  • If you are using the datasets from the default Event Monitoring analytics app (te the '~WithUsers' datasets), make sure that you've scheduled your Event Monitoring Analytics app's dataflow.
  • This is a SFDX version of the original repo. So you just have to auth an org and deploy as per the manifest/package.xml as explained here.
  • You can also deploy the dashboards with these two other alternatives:
    • Metadata deployment with Ant, SFDX, etc. If you know how to do this, the misc/mdapi/package.xml and payload should suffice.
      • If you don't know how to do a metadata deployment, create a .zip of the misc/mdapi/ directore (your zip file should not have any root folder - both package.xml and wave folder should be on the root of the zip file), and then follow this guide; note in Step 7 you do have to click the 'Single Package' checkbox.
    • You can also use the JSON files that are available into misc/json/ and copy and past them from the folder direclty into a new, blank dashboard in CRM Analytics. This method is not preferred as you're not deploying the dashboard's extended metadata (XMD), and so you lose the rich, informative colour-coded metrics that were lovingly added to the dashboards. Only use this approach as a last resort or you just want an initial glance.

Dashboards

User Journeys:

Video Guide

It is imperative that every business understands what parts of a Salesforce implementation are valuable to its users. This dashboard gives a top-to-bottom view of what UI-level interactions users perform in Lightning, from apps, standard and custom objects, to components of a page layout, what they view and what they click. As a result, Salesforce sponsors, stakeholdes, owners, product owners, project managers, admins and developers have a clearer sense of what is valuable to users by virtue of their level of interaction with many of the customisations they have developed and improved and put in the hands of users. This dashboard leverages the LightingInteration event log; reading the documentation is strongly encouraged.

User_Activities

Apex Performance:

Video Guide

A narrative of the raw ApexExecutionWithUsers dataset in order to help pin-point slow-performing code. Ideally for a Developer, Admin, QA, Release Manager and / or Product Owner to identify what code is consistently slow, what's started being slow, and what skillset is required to begin reviewing the code. Try and use this early-on in your development process, or at the very latest in a UAT full-copy sandbox, so you can spot trends in newly-problematic code and decide if a current release is about to introduce risk to the business in production. This dashboard leverages the ApexExecutionWithUsers event log; reading the documentation is strongly encouraged.

Apex_Performance

Apex Exceptions

Video Guide

When Apex starts to break, quick and decisive action is needed. This dashboard gives a clear view of what Apex classes and methods are generating unhandled exceptions, by volume, over time. Realistically, every datapoint on this dashboard is something for developers to review, consider, and fix or prevent. QAs, Release Managers and Product Owners should be reviewing this dashboard early in the development process, or at the very latest in a UAT full-copy sandbox. If things are beaking, this dashboard will help decide if a current release is about to introduce risk to the business in production by breaking business-critical processes. This dashboard leverages the ApexUnexpectedException event log; reading the documentation is strongly encouraged.

Apex_Exceptions

Lightning Page Performance

Video Guide

Helps you to identify the pages that are performing poorly in Lightning, by GEO, App, Object. Uses CRMA compare tables to calculate lost productivity due to poor page load time (EPT). This dashboard leverages the LightningPageViewWithUsers and LightingInteration event log; reading the documentation is strongly encouraged.

image

Experience Cloud Page Performance

A very similar dashboard to the Lightning Page Performance EPT dashboard, but with some filters and tweaks to help better understand and visualise which Experience Cloud pages have higher EPT. This can be explored by many dimensions, such as the Site URL, user's location / geo, browser version, etc. This has only been tested with Experience Cloud site templates; it has not been tested with Aura or LWR Buil-Your-Own sites.

image

Report Adoption

Video Guide

A dashboard that looks at reports from adoption, performance and security points-of-view (the three pillars of Event Monitoring!). Adoption: who's running existing reports as opposed to editing or building new ones (reports with no name). Performance: the relationship between rows returned and database (DB) time. Security: how may reports are being run in .csv, Excel or printable formats.

image

Org Performance Overview

This dashboard gives a complete performance overview of the business logic and API layers of your org; highlights the usual errors and hotspots that cause general platform and org-wide performance bottlenecks and failures. Consider this as a general superset of some of the other performance-focused dashboards in this repo. Can be used as a startign point to spot general performance trends that can be investigated more thoroughly in other lenses or dashboards.

image

Notes, Observations, Comments:

The Dashboards are in an app / folder called "Event Monitoring Plus" that uses the Event Monitoring licence type. Please do not click the 'Reconfigure' link at the top of the app page; it will overwrite and remove these dashboards.

As of January 2023, the dashboards now use the '~WithUsers' datasets. It is important that you've scheduled your Event Monitoring Analytics app's dataflow.

The app is deployed with a default security setting of 'Manager' for the Entire Organisation; anyone in the Entire Organisation that has access to CRM Analytics. Users will only be able to view the contents of the dashboards if they also have access to the datasets. Your datasets are protected within whichever app you've stored them in and so will remain as the main security control. Related point: feel free to edit and save these dashboards into your existing Event Monitoring CRM Analytics app. Again, be aware of reconfiguring any templated apps, as it will delete these dashboards.

About

A lightweight collection of CRM Analytics dashboards for gaining a better understanding of Event Monitoring data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%