DSS Custom Metrics with Azure Application Insights


Prerequisites:

Ingeniux CMS 10.2+ must be installed. See CMS Statistics to check the site version.


As of CMS 10.2, we have included custom metrics for Microsoft's Application Insights specific to Dynamic Site Server functionality. These metrics can be used by developers to monitor overall DSS performance/health, gather debug data, and get layered insights into how your DSS is running within various environments.

Enabling this feature requires a subscription to Microsoft Azure. If you are unfamiliar with Application Insights, you may also want to refer to the following Microsoft Azure articles:

To enable Application Insights and view its metrics for a DSS site:
  1. Open Dynamic_Site_Server_Instance.csproj within the root folder of your DSS installation.
  2. Navigate to Project > Add Application Insights Telemetry....
  3. Connect to your Azure subscription.
    Note
    Ensure that you have rights to create a resource group.
  4. In Visual Studio, rename Dynamic_Site_Server_Instance to a custom name value for both Resource Group name and AI Resource name.
  5. Save the new resource and connect to the website that will receive metrics. This will install the required NuGet packages for AI for the project.
  6. Go to https://portal.azure.com > Application Insights. You will now see your new resource. New data will begin to display after your first visit to the associated site.
  7. Click Monitor then click the Metrics utility in the left pane. The Metrics view displays.

    Applications Insights Metrics for DSS

  8. In the Metrics view, click the Metric drop-down list. The custom DSS metrics and the custom DSS event display beneath the heading CUSTOM:
    Custom MetricDescriptionDimensions
    DSS_Page_Expand_TimePage expansion time with view processing.DSS_Page_Expand_Time
    DSS_Asset_Field_Expand_TimeAsset field expansion time.DSS_Asset_Field__Page, DSS_Asset_Field__Field
    DSS_Navigation_Entry_Build_Preview_DB_LoadsNumbers of page content items to load from database. Preview only.--No Dimensions--
    DSS_Global_Export_Processing_TimeTime taken to process global exports per page. Only tracked when greater than 50ms.DSS_Global_Export__Page_ID
    DSS_Local_Export_Processing_TimeTime taken to process local exports per page. Only tracked when greater than 50ms.DSS_Local_Export__Page_ID
    DSS_Dynamic_Execute_Processing_TimeTime taken to process a dynamic execute component.DSS_Dynamic_Execute_Processing__Page, DSS_Dynamic_Execute_Processing__Field
    DSS_Insert_Processing_TimeTime taken to expand an insert field.DSS_Insert_Processing__Page, DSS_Insert_Processing__Field
    DSS_Navigation_BuildTime taken to build a navigation.DSS_Navigation_Build__Page, DSS_Navigation_Build__Field
    Custom EventDescriptionProperties
    DSS_Navigation_BuildRuntime only, before saving navigation cache to disk.Page, Field, Size, FilePath