SlideShare uma empresa Scribd logo
1 de 26
Site Activity &
Performance Analysis
Business & Performance Data
Data availability on Client Browser VS on Web Server
System Diagram
Site Activity Features
 Collects all Site Activity information (web site requests)
 Open & Simple SQL Server Storage
 Built-in Analysis Reports (simple & flexible reports creation)
 Configurable Requests Filter options

                                          HTTP
            Business Activity ->   TAGS
                                          Business (BL)
Site Activity Features
 Configurable Extra Data collection fields
   – Cookie Value – according to cookie name
   – HTTP Header Value – according to header name
   – URL Request Parameter – according to parameter name
 Built-In Session ID and Request ID (GUIDs)
 Runtime override capabilities - Field/Parameter values
Extra Fields Data
 Can be filled according to configuration or at runtime.

  Extra Fields – Configuration (header / cookie / request)
  <!-- extra fields source (1-5) - cookie / header / request_param -->
  <add key="SiteActivityModules_Field_1_Source" value="cookie: MyCookie"/>
  <add key="SiteActivityModules_Field_2_Source" value=“header: MyHeader"/>



  Extra Fields – filled at runtime
  // context = HttpContext.Current.Context
  context.Items["Performance Monitor -> Field 1"] = “Value 1";
  context.Items["Performance Monitor -> Field 2"] = “Value 2";
Wizards Analysis Sample
// Fill Extra Fields Data – For Creating Wizard   Analysis Report
context.Items["Performance Monitor -> Field 1"]   = “WIZARD";     // Type = Wizard
context.Items["Performance Monitor -> Field 2"]   = “Wizard #1"; // Wizard Name
context.Items["Performance Monitor -> Field 3"]   = “1";          // Wizard Step Number
Requests Filtering
 Filter what Requests (URLs) would be recorded.
  Page Types Filtering (include & exclude rules)
  <!-- monitored page types -->
  <add key="SiteActivityModules_PageTypes" value=".aspx ; .asmx"/>
  <add key="SiteActivityModules_PageTypesExclude" value=".css ; .js"/>


  URL Templates Filtering (any part of url string)
  <!-- filter urls that include/exclude templates (xxx ; yyy ; zzz) -->
  <add key="SiteActivityModules_UrlsInclude" value="page2.aspx ; …"/>
  <add key="SiteActivityModules_UrlsExclude" value="page3.aspx ; …"/>

  Requests Filtering – at runtime
  context.Items["Performance Monitor -> Page Is Monitored"] = false;
User Activity Analysis
 Report that shows all Requests of a specific User.
Unique Pages Analysis
 Report that shows Unique Page Visits.
 Support Unique Count For:
   – All Requests Count
   – Unique Requests For Session
   – Unique Requests For User
Site Performance Analysis
Site Performance Analysis
 Collects all Site Activity information (site requests)
 Analyze Requests Process Time
 Designed for Production Environments
      No Code Changes
      No .NET Profiling (production environments)
      No Client side Java Script injection
      Batch Process for Logs Loading to SQL Server
Site Performance Analysis
 Enhanced Performance Reports
 Built-In monitoring for the Site Activity Module
 Developers Framework for Actions & Activities
  Reporting
Request Life Cycle
Site Performance Analysis
 Report that analyze site pages, with highest process
  time.
Action Types & Page Analysis
 Report that analyze a specific page.
 Page Statistics & All Page internal Actions Statistics.
Actions Analysis
Performance - Configuration Examples
 Requests Process Time Filtering
 <!-- filter only requests between Min-Max process time (milliseconds)   -->
 <add key="SiteActivityModules_MinProcessTimeToCapture" value="0"/>
 <add key="SiteActivityModules_MaxProcessTimeToCapture" value="1000"/>
Performance - Configuration Examples
 Enable On Screen Display (Off / On – by parameter / Always On)
 <!-- on screen diplay of page request information-->
 <add key="SiteActivityModules_OnScreenDisplay" value="0"/>




 Example of data showed on page:
 Site Activity Monitor - Request Information:
 Begin Request|Start Page Monitor|203|634954898520043462| ; milliseconds from last action = 0
 SQL Call | SQL Activity #4 | 180 | 634954898522303591 | ; milliseconds from last action = 226
 Service Call | WCF Call | 140 | 634954898523703671 | ; milliseconds from last action = 140
 Service Call | Web Service Call | 150 | 634954898525203757 | ; milliseconds from last action = 150
 SQL Call | SQL Activity #5 | 180 | 634954898527503889 | ; milliseconds from last action = 230
 End Request|Finish Page Monitor|998|634954898528023919| ; milliseconds from last action = 52
Code Examples
 This example is for Reporting a Custom Action for a Page.
 Can be Reported from any code (site, referenced dlls…) that
  contains Request’s HttpContext
  Report Action – From Anywhere with HTTP Context Available
  //   Action data format:
  //   context = HttpContext.Current.Context
  //   Action Type | Action Name | Process time in ms | ts (in ticks) | extras
  if   (context.Items["Performance Monitor -> Page Actions"] != null)
        (context.Items["Performance Monitor -> Page Actions"])
            .Add(string.Format("{0} | {1} | {2} | {3} |    {4}",
              actionType,actionName,processTimeInMs.ToString(),
              DateTime.Now.Ticks.ToString(),extraData));
Code Examples (continue…)
Override Internal Parameters at runtime

// Override Session ID
context.Items["Performance Monitor -> Session ID"] = “XYZ…";

// Override Current User Name
context.Items["Performance Monitor -> User Name"] = “User 1";

// Override File Name
context.Items["Performance Monitor -> File Name"] = “Custom File Name";

// Override Url Params
context.Items["Performance Monitor -> Url Params"] = “Custom Url Params";

// Override Full Url
context.Items["Performance Monitor -> Full Url"] = “My Custom Url";
Code Examples (continue…)
Override Internal Parameters at runtime

// Override Monitor Source
context.Items["Performance Monitor -> Monitor Source"] = “My Source";

// Filter Current Request
context.Items["Performance Monitor -> Page Is Monitored"] = false;
Roadmap
On - Development Features
Planned Product Features
Planned Product Features (continue…)
 Centralized Exceptions Reporting
   The ability to report an exception through Http Context, includes all exception details. The
   framework will be responsible to update all data on the System’s centralized storage, and
   enable to generate exceptions reports (includes all request data)

 Centralized Audit Reporting
   The ability to report audit actions (users audit, business activity…) through Http Context. The
   framework will be responsible to update all data on the System’s centralized storage, and
   enable to generate audit reports

 Centralized Event Log
   The ability to report event log actions (Debug, Information, Warnings & Critical) through Http
   Context. The framework will be responsible to update all data on the System’s centralized
   storage, and enable to generate event log reports
Planned Product Features (continue…)
 Support More Application Types
  The framework is very open and flexible, and the same concept of web site pages
  & in-page actions reporting (both business activity & performance) can be
  adjusted to other application types (Windows Services, Mobile, Win Forms,
  WPF…). The framework would provide a static global object (Http Context
  equivalent) that would handle all internal processing

 Enhancing Current Framework Flexibility
   – Advanced requests data extraction (complex post data, xml structures…)
     through regular expressions, custom extraction code, and more…
   – Navigate specific requests (for example with exceptions) to other log files –
     that would get extracted online to centralized storage
   – SQL Provider – online logs extraction to centralized storage
   – In Memory Statistics – especially for performance reports

Mais conteúdo relacionado

Mais procurados

Atlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring IntegrationAtlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring IntegrationGunnar Hillert
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationAdil Ansari
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed Aldahdooh
 
Spring batch for large enterprises operations
Spring batch for large enterprises operations Spring batch for large enterprises operations
Spring batch for large enterprises operations Ignasi González
 
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Eric Shupps
 
Asp.net html server control
Asp.net html  server controlAsp.net html  server control
Asp.net html server controlSireesh K
 

Mais procurados (8)

Atlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring IntegrationAtlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring Integration
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote Authentication
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
Spring batch for large enterprises operations
Spring batch for large enterprises operations Spring batch for large enterprises operations
Spring batch for large enterprises operations
 
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
 
Asp.net html server control
Asp.net html  server controlAsp.net html  server control
Asp.net html server control
 
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion MiddlewareAMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
 
L12: REST Service
L12: REST ServiceL12: REST Service
L12: REST Service
 

Semelhante a Site activity & performance analysis

ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauSpiffy
 
State management in ASP.NET
State management in ASP.NETState management in ASP.NET
State management in ASP.NETOm Vikram Thapa
 
Lifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsLifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsWSO2
 
Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis ServicesGeek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis ServicesIDERA Software
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5Tieturi Oy
 
MVC & SQL_In_1_Hour
MVC & SQL_In_1_HourMVC & SQL_In_1_Hour
MVC & SQL_In_1_HourDilip Patel
 
[WSO2Con USA 2018] Patterns for Building Streaming Apps
[WSO2Con USA 2018] Patterns for Building Streaming Apps[WSO2Con USA 2018] Patterns for Building Streaming Apps
[WSO2Con USA 2018] Patterns for Building Streaming AppsWSO2
 
Api Statistics- The Scalable Way
Api Statistics- The Scalable WayApi Statistics- The Scalable Way
Api Statistics- The Scalable WayWSO2
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBizTalk360
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]ColdFusionConference
 
Graphing for Security
Graphing for SecurityGraphing for Security
Graphing for Securitymr_secure
 
Intoduction to Play Framework
Intoduction to Play FrameworkIntoduction to Play Framework
Intoduction to Play FrameworkKnoldus Inc.
 
Edgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer WorkflowsEdgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer WorkflowsEdgewater
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0Buu Nguyen
 
2014-05-17 SPS Baltimore - Worst Practices of SharePoint
2014-05-17 SPS Baltimore - Worst Practices of SharePoint2014-05-17 SPS Baltimore - Worst Practices of SharePoint
2014-05-17 SPS Baltimore - Worst Practices of SharePointDan Usher
 
Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance” Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance” Dakiry
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showThe complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showSubhas Malik
 

Semelhante a Site activity & performance analysis (20)

QSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load RunnerQSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load Runner
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
 
State management in ASP.NET
State management in ASP.NETState management in ASP.NET
State management in ASP.NET
 
Lifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsLifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 Products
 
State management
State managementState management
State management
 
Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis ServicesGeek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
 
MVC & SQL_In_1_Hour
MVC & SQL_In_1_HourMVC & SQL_In_1_Hour
MVC & SQL_In_1_Hour
 
[WSO2Con USA 2018] Patterns for Building Streaming Apps
[WSO2Con USA 2018] Patterns for Building Streaming Apps[WSO2Con USA 2018] Patterns for Building Streaming Apps
[WSO2Con USA 2018] Patterns for Building Streaming Apps
 
Api Statistics- The Scalable Way
Api Statistics- The Scalable WayApi Statistics- The Scalable Way
Api Statistics- The Scalable Way
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
 
Graphing for Security
Graphing for SecurityGraphing for Security
Graphing for Security
 
Intoduction to Play Framework
Intoduction to Play FrameworkIntoduction to Play Framework
Intoduction to Play Framework
 
Edgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer WorkflowsEdgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer Workflows
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0
 
Patterns for Building Streaming Apps
Patterns for Building Streaming AppsPatterns for Building Streaming Apps
Patterns for Building Streaming Apps
 
2014-05-17 SPS Baltimore - Worst Practices of SharePoint
2014-05-17 SPS Baltimore - Worst Practices of SharePoint2014-05-17 SPS Baltimore - Worst Practices of SharePoint
2014-05-17 SPS Baltimore - Worst Practices of SharePoint
 
Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance” Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance”
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showThe complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
 

Mais de Eyal Vardi

Smart Contract
Smart ContractSmart Contract
Smart ContractEyal Vardi
 
Rachel's grandmother's recipes
Rachel's grandmother's recipesRachel's grandmother's recipes
Rachel's grandmother's recipesEyal Vardi
 
Performance Optimization In Angular 2
Performance Optimization In Angular 2Performance Optimization In Angular 2
Performance Optimization In Angular 2Eyal Vardi
 
Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)Eyal Vardi
 
Angular 2 NgModule
Angular 2 NgModuleAngular 2 NgModule
Angular 2 NgModuleEyal Vardi
 
Upgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.xUpgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.xEyal Vardi
 
Angular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time CompilationAngular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time CompilationEyal Vardi
 
Routing And Navigation
Routing And NavigationRouting And Navigation
Routing And NavigationEyal Vardi
 
Angular 2 Architecture
Angular 2 ArchitectureAngular 2 Architecture
Angular 2 ArchitectureEyal Vardi
 
Angular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.xAngular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.xEyal Vardi
 
Angular 2.0 Views
Angular 2.0 ViewsAngular 2.0 Views
Angular 2.0 ViewsEyal Vardi
 
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0Eyal Vardi
 
Template syntax in Angular 2.0
Template syntax in Angular 2.0Template syntax in Angular 2.0
Template syntax in Angular 2.0Eyal Vardi
 
Http Communication in Angular 2.0
Http Communication in Angular 2.0Http Communication in Angular 2.0
Http Communication in Angular 2.0Eyal Vardi
 
Angular 2.0 Dependency injection
Angular 2.0 Dependency injectionAngular 2.0 Dependency injection
Angular 2.0 Dependency injectionEyal Vardi
 
Angular 2.0 Routing and Navigation
Angular 2.0 Routing and NavigationAngular 2.0 Routing and Navigation
Angular 2.0 Routing and NavigationEyal Vardi
 
Async & Parallel in JavaScript
Async & Parallel in JavaScriptAsync & Parallel in JavaScript
Async & Parallel in JavaScriptEyal Vardi
 
Angular 2.0 Pipes
Angular 2.0 PipesAngular 2.0 Pipes
Angular 2.0 PipesEyal Vardi
 
Angular 2.0 forms
Angular 2.0 formsAngular 2.0 forms
Angular 2.0 formsEyal Vardi
 

Mais de Eyal Vardi (20)

Why magic
Why magicWhy magic
Why magic
 
Smart Contract
Smart ContractSmart Contract
Smart Contract
 
Rachel's grandmother's recipes
Rachel's grandmother's recipesRachel's grandmother's recipes
Rachel's grandmother's recipes
 
Performance Optimization In Angular 2
Performance Optimization In Angular 2Performance Optimization In Angular 2
Performance Optimization In Angular 2
 
Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)
 
Angular 2 NgModule
Angular 2 NgModuleAngular 2 NgModule
Angular 2 NgModule
 
Upgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.xUpgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.x
 
Angular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time CompilationAngular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time Compilation
 
Routing And Navigation
Routing And NavigationRouting And Navigation
Routing And Navigation
 
Angular 2 Architecture
Angular 2 ArchitectureAngular 2 Architecture
Angular 2 Architecture
 
Angular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.xAngular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.x
 
Angular 2.0 Views
Angular 2.0 ViewsAngular 2.0 Views
Angular 2.0 Views
 
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0
 
Template syntax in Angular 2.0
Template syntax in Angular 2.0Template syntax in Angular 2.0
Template syntax in Angular 2.0
 
Http Communication in Angular 2.0
Http Communication in Angular 2.0Http Communication in Angular 2.0
Http Communication in Angular 2.0
 
Angular 2.0 Dependency injection
Angular 2.0 Dependency injectionAngular 2.0 Dependency injection
Angular 2.0 Dependency injection
 
Angular 2.0 Routing and Navigation
Angular 2.0 Routing and NavigationAngular 2.0 Routing and Navigation
Angular 2.0 Routing and Navigation
 
Async & Parallel in JavaScript
Async & Parallel in JavaScriptAsync & Parallel in JavaScript
Async & Parallel in JavaScript
 
Angular 2.0 Pipes
Angular 2.0 PipesAngular 2.0 Pipes
Angular 2.0 Pipes
 
Angular 2.0 forms
Angular 2.0 formsAngular 2.0 forms
Angular 2.0 forms
 

Site activity & performance analysis

  • 2. Business & Performance Data Data availability on Client Browser VS on Web Server
  • 4. Site Activity Features  Collects all Site Activity information (web site requests)  Open & Simple SQL Server Storage  Built-in Analysis Reports (simple & flexible reports creation)  Configurable Requests Filter options HTTP Business Activity -> TAGS Business (BL)
  • 5. Site Activity Features  Configurable Extra Data collection fields – Cookie Value – according to cookie name – HTTP Header Value – according to header name – URL Request Parameter – according to parameter name  Built-In Session ID and Request ID (GUIDs)  Runtime override capabilities - Field/Parameter values
  • 6. Extra Fields Data  Can be filled according to configuration or at runtime. Extra Fields – Configuration (header / cookie / request) <!-- extra fields source (1-5) - cookie / header / request_param --> <add key="SiteActivityModules_Field_1_Source" value="cookie: MyCookie"/> <add key="SiteActivityModules_Field_2_Source" value=“header: MyHeader"/> Extra Fields – filled at runtime // context = HttpContext.Current.Context context.Items["Performance Monitor -> Field 1"] = “Value 1"; context.Items["Performance Monitor -> Field 2"] = “Value 2";
  • 7. Wizards Analysis Sample // Fill Extra Fields Data – For Creating Wizard Analysis Report context.Items["Performance Monitor -> Field 1"] = “WIZARD"; // Type = Wizard context.Items["Performance Monitor -> Field 2"] = “Wizard #1"; // Wizard Name context.Items["Performance Monitor -> Field 3"] = “1"; // Wizard Step Number
  • 8. Requests Filtering  Filter what Requests (URLs) would be recorded. Page Types Filtering (include & exclude rules) <!-- monitored page types --> <add key="SiteActivityModules_PageTypes" value=".aspx ; .asmx"/> <add key="SiteActivityModules_PageTypesExclude" value=".css ; .js"/> URL Templates Filtering (any part of url string) <!-- filter urls that include/exclude templates (xxx ; yyy ; zzz) --> <add key="SiteActivityModules_UrlsInclude" value="page2.aspx ; …"/> <add key="SiteActivityModules_UrlsExclude" value="page3.aspx ; …"/> Requests Filtering – at runtime context.Items["Performance Monitor -> Page Is Monitored"] = false;
  • 9. User Activity Analysis  Report that shows all Requests of a specific User.
  • 10. Unique Pages Analysis  Report that shows Unique Page Visits.  Support Unique Count For: – All Requests Count – Unique Requests For Session – Unique Requests For User
  • 12. Site Performance Analysis  Collects all Site Activity information (site requests)  Analyze Requests Process Time  Designed for Production Environments  No Code Changes  No .NET Profiling (production environments)  No Client side Java Script injection  Batch Process for Logs Loading to SQL Server
  • 13. Site Performance Analysis  Enhanced Performance Reports  Built-In monitoring for the Site Activity Module  Developers Framework for Actions & Activities Reporting
  • 15. Site Performance Analysis  Report that analyze site pages, with highest process time.
  • 16. Action Types & Page Analysis  Report that analyze a specific page.  Page Statistics & All Page internal Actions Statistics.
  • 18. Performance - Configuration Examples Requests Process Time Filtering <!-- filter only requests between Min-Max process time (milliseconds) --> <add key="SiteActivityModules_MinProcessTimeToCapture" value="0"/> <add key="SiteActivityModules_MaxProcessTimeToCapture" value="1000"/>
  • 19. Performance - Configuration Examples Enable On Screen Display (Off / On – by parameter / Always On) <!-- on screen diplay of page request information--> <add key="SiteActivityModules_OnScreenDisplay" value="0"/> Example of data showed on page: Site Activity Monitor - Request Information: Begin Request|Start Page Monitor|203|634954898520043462| ; milliseconds from last action = 0 SQL Call | SQL Activity #4 | 180 | 634954898522303591 | ; milliseconds from last action = 226 Service Call | WCF Call | 140 | 634954898523703671 | ; milliseconds from last action = 140 Service Call | Web Service Call | 150 | 634954898525203757 | ; milliseconds from last action = 150 SQL Call | SQL Activity #5 | 180 | 634954898527503889 | ; milliseconds from last action = 230 End Request|Finish Page Monitor|998|634954898528023919| ; milliseconds from last action = 52
  • 20. Code Examples  This example is for Reporting a Custom Action for a Page.  Can be Reported from any code (site, referenced dlls…) that contains Request’s HttpContext Report Action – From Anywhere with HTTP Context Available // Action data format: // context = HttpContext.Current.Context // Action Type | Action Name | Process time in ms | ts (in ticks) | extras if (context.Items["Performance Monitor -> Page Actions"] != null) (context.Items["Performance Monitor -> Page Actions"]) .Add(string.Format("{0} | {1} | {2} | {3} | {4}", actionType,actionName,processTimeInMs.ToString(), DateTime.Now.Ticks.ToString(),extraData));
  • 21. Code Examples (continue…) Override Internal Parameters at runtime // Override Session ID context.Items["Performance Monitor -> Session ID"] = “XYZ…"; // Override Current User Name context.Items["Performance Monitor -> User Name"] = “User 1"; // Override File Name context.Items["Performance Monitor -> File Name"] = “Custom File Name"; // Override Url Params context.Items["Performance Monitor -> Url Params"] = “Custom Url Params"; // Override Full Url context.Items["Performance Monitor -> Full Url"] = “My Custom Url";
  • 22. Code Examples (continue…) Override Internal Parameters at runtime // Override Monitor Source context.Items["Performance Monitor -> Monitor Source"] = “My Source"; // Filter Current Request context.Items["Performance Monitor -> Page Is Monitored"] = false;
  • 25. Planned Product Features (continue…)  Centralized Exceptions Reporting The ability to report an exception through Http Context, includes all exception details. The framework will be responsible to update all data on the System’s centralized storage, and enable to generate exceptions reports (includes all request data)  Centralized Audit Reporting The ability to report audit actions (users audit, business activity…) through Http Context. The framework will be responsible to update all data on the System’s centralized storage, and enable to generate audit reports  Centralized Event Log The ability to report event log actions (Debug, Information, Warnings & Critical) through Http Context. The framework will be responsible to update all data on the System’s centralized storage, and enable to generate event log reports
  • 26. Planned Product Features (continue…)  Support More Application Types The framework is very open and flexible, and the same concept of web site pages & in-page actions reporting (both business activity & performance) can be adjusted to other application types (Windows Services, Mobile, Win Forms, WPF…). The framework would provide a static global object (Http Context equivalent) that would handle all internal processing  Enhancing Current Framework Flexibility – Advanced requests data extraction (complex post data, xml structures…) through regular expressions, custom extraction code, and more… – Navigate specific requests (for example with exceptions) to other log files – that would get extracted online to centralized storage – SQL Provider – online logs extraction to centralized storage – In Memory Statistics – especially for performance reports