sp-dev-fx-webparts/samples/react-appinsights-usage/README.md

4.7 KiB

page_type products languages extensions
sample
office-sp
typescript
contentType technologies platforms createdDate
samples
SharePoint Framework
react
5/26/2024 12:00:00 AM

Application Insights usage

Summary

Application Insights provides telemetry data to monitor and improve application performance and user experience, while AB Testing, user flow analysis, and logging help in optimizing and debugging applications by comparing different versions, mapping user paths, and recording significant events. The 3 Sample Webpart demonstrates webpart functionalities to aid developers in integrating customizable components effectively.

Used SharePoint Framework Version

version

Applies to

Get your own free development tenant by subscribing to Microsoft 365 developer program

Prerequisites

Application Insight Service on Azure Add the connection stirng of this Service to the the variable AIConnectionString at src/EnvProps.ts

Contributors

Version history

Version Date Comments
1.0 Mai 26, 2024 Initial release

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.


Minimal Path to Awesome

  • Clone this repository
  • Ensure that you are at the solution folder
  • Create or use Existing Azure Application Insights
  • Update src/EnvProps.ts and set AIConnectionString
  • in the command-line run:
    • npm install
    • gulp serve

Features

Description of the extension that expands upon high-level summary above.

This extension illustrates the following concepts:

  • Sample Router WebPart - Using Hash Router and use Page Tracking
  • ABTest WebPart (check User activity)
    • Event Tracking
    • Logging
  • PnP JS Logger
    • Logging with PnPJS

Sample Router WebPart

How is your application used by Users

Sample WebPart Screen

Analyse in Application Insight

UserFlow by Session

Query in Application Insights Count PageViews

pageViews 
| where name contains "Page"
| where cloud_RoleName contains "app-insights-spfx-webparts"
| where cloud_RoleInstance contains "SampleRouterWebPart"
| where timestamp >= ago(8h)
| summarize count()  by name
| render barchart 

Page visit count evaluation

Query in Application Insights Avarage Page visit duration by PageName

customMetrics 
| where name contains "PageVisitTime"
| where customDimensions.PageName contains "Page"
| where cloud_RoleName contains "app-insights-spfx-webparts"
| where cloud_RoleInstance contains "SampleRouterWebPart"
| where timestamp >= ago(8h)
| summarize avg(value)  by tostring(customDimensions.PageName)
| render barchart 

Page visit duration evaluation

AB-Test WebPart

How users add new items?

AB UI Screen

Query in Application Insights

customEvents 
| where name contains "AddItem"
| where cloud_RoleName contains "app-insights-spfx-webparts"
| where cloud_RoleInstance contains "ABTestWebPart"
| where timestamp >= ago(1h)
| summarize  count()  by name
| render barchart 

AB Evaluation

PnPJS Logger WebPart

Logoutput with Browser Log Level Filter

References