1 of 29

Optimizely London Dev Meetup 2025 @ The Lighthouse

Wifi at the back of the room

2 of 29

Organized and Sponsored By

3 of 29

Meetup Agenda

18:30 – 18:50 :: Minesh Shah (Netcel) - Frontend Hosting With Optimizely

18:55 - 19:15 :: Tom Bramley (Optimizely) - Content Manager, AI translations, Opal and CMS 13

19:20 - 19:40 :: Scott Reed (Niteco) - Application Insights, Refining Data and View Logs

------------------------------------------------------------------------------------------------------------------

19:40 - 20:10 :: BREAK

------------------------------------------------------------------------------------------------------------------

20:10 - 20:30 :: Andrew Markham (UNRVLD) - Introduction to the new Opti Connect Platform

20:35 - 20:55 :: Jacob Pretorius (Niteco) – Edge Logs

22:00 - 22:20 :: Daniel Halse (Netcel) - Graph Integration with Configured Commerce

22:25 - 22:45 :: Jermey Brown (UNRVLD) - Laying the Foundation: PaaS CMS for Greenfield Projects

------------------------------------------------------------------------------------------------------------------

Finish & Social :: Drinks + social nearby for anyone staying

Wifi at the back of the room

4 of 29

Application Insights, Refining Data and Viewing Logs �(In The Opti DXP)

Scott Reed

5 of 29

Presenters

Scott Reed

Solution Architect @

Optimizely Platinum MVP (since 2022)

_5

About Me

6 of 29

Agenda

  • DXP & Application Insights Overview
  • Application Insights – Application Map + Customizing Application Insights Telemetry
  • Application Insights – Performance + Failures + Metrics + Raw Logs (KQL)
  • Application Insights – Other Features + Missing Features
  • DXP Pass Portal Logs + Docker

_6

7 of 29

DXP & Application Insights Overview

_7

8 of 29

Optimizely DXP comes with Application Insights as default on Azure. Application Insights allow for application metrics to be collected from both the backend .NET and the frontend JavaScript layer. ��Using Application insight we can view, monitor and diagnose application performance, health and identify issues.

_8

DXP & Application Insights Overview

9 of 29

DXP & Application Insights Overview

  • .NET core telemetry packages automatically included as part of installation of EPiServer.CloudPlatform.Cms
  • .NET JavaScript snippet rendered automatically to client for metrics collection but can be disabled and customized.

10 of 29

Application Map + Customizing Application Insights Telemetry

_10

11 of 29

The Application Map allows you to see all the front end and backend dependency calls and explore slow calls in a graphical way.

11

Useful for getting an understanding of all the core calls that are being made without digging around in logs

Useful for understanding the dependency tapestry of the application

Useful for seeing the core slowest calls easily

Application Map

12 of 29

By customizing the application insights metrics, we can

12

Customizing Application Insights Telemetry

Inject SQL Queries information into SQL calls

Remove “Junk” data

Customize Log Levels

Disable Live Metrics

Inject extra data where needed

13 of 29

13

Customizing Application Insights Telemetry

14 of 29

14

Customizing Application Insights Telemetry

Startup configuration

15 of 29

Performance + Failures + Metrics + Raw Logs (KQL)

16 of 29

Using the performance section, we can see the performance of front end and backend operations and dependencies

16

Performance

1

Filter dataset to “Server” or “Browser” to look at either backend or front-end performance

2

Filter the timing and the role (often to exclude the scheduler) or filter specific data that we want to focus on

3

Use Average or focus on 99th percentile to see outliers and slow calls

4

Switch secondary graph to correlate operations to requests, CPU, memory or storage

5

Narrow down durations to focus on specific slow operations where profiler traces exist

6

View operation details and drill into profiler traces and hot paths

17 of 29

Using the performance section code optimization feature we can see any recommended code Optimization. This can also be seen in the right pane when filtering

17

Code Optimization

18 of 29

Within the failures section we can see any logged failures. These could be failed HTTP responses or errors from the backend or front-end

18

Failures

View Exceptions

Drill into exception end to end details

View event details and call stack information

19 of 29

Metics will allow you to see information on several areas such as CPU, Memory, load times to help you identify issues

19

Metrics

  1. Use log-based metrics
  2. Filter out the cloud role instance of the scheduler if you’re looking specifically for customer traffic instances
  3. Split by instance to see how each individual instance is handling traffic
  4. Select process CPU all cores to get the true average per instance (So you can align to the scaled threshold)

20 of 29

The log area contains the raw log information. The data is in tables customized to the Optimizely logger. The new interface is selectable but master KQL for real power

20

Raw Logs

Note: Time ranges in this area are in UTC

21 of 29

21

Connecting the Dots Between Metrics and Raw Logs – Finding Performance Issues

  1. Metric: Log-based metrics, Server response time, Avg aggregation
  2. Split by: Cloud role instance
  3. Set the time range (IN UTC) to when the issue occured and keep narrowing it in until you have a 30 minute or so window
  4. Note any offending instance values e.g. 2a9f3a38c4ac

22 of 29

Navigate to the Monitoring -> Logs area and set the following KQL, replacing the INSTANCE with your noted instance. ��Also in the run area set the time frame in UTC to the 10 minute range noted above

22

Connecting the Dots Between Metrics and Raw Logs – Extracting Buckets Info

23 of 29

Now navigate to Investigate -> Transaction Search��Set the filter Event Types = Request and in the search copy and of the id values from our list and search. You can then open the request and drill into dependency issues or profiler traces, in our case to see a slow Find quer

23

Connecting the Dots Between Metrics and Raw Logs – Viewing Request Details

24 of 29

Other Features + Missing Features

_24

25 of 29

Dashboards can group information with specific filters for easier views

25

Dashboards

*New Dashboard feature doesn’t seem to work on the DXP

26 of 29

Workbooks are a bit like PowerBi reports. You can create reports which allow drill in functions to view data on reported data

26

Workbooks

27 of 29

There are some application insights features that would be great to have but we don’t get on the DXP

27

Missing Features

Alerts / Automation

Create DevOps Tickets

Limited Dashboard Features

28 of 29

DXP Pass Portal Logs + Docker

_28

29 of 29

Q&A

_29