• Products
    • View all products
    • Free trials
    • Buy online
  • Solutions
  • Resources
    • All Resources
    • Learning Hub
  • Trials
  • Services
    • Consulting Services
      • Overview
      • Microsoft Platform Services
      • Data Protection Services
      • Unified Endpoint Management
      • Performance Monitoring Services
      • Database Management Services
    • Educational Services
    • Support Services
  • Support
    • Support Home
    • By Product
      • All Products
      • AppAssure
      • Archive Manager
      • Change Auditor
      • Desktop Authority
      • DR Series
      • Foglight
      • KACE
      • Migration Manager
      • NetVault
      • Rapid Recovery
      • SharePlex
      • Toad
      • vRanger
    • Contact Support
      • Overview
      • Customer Service
      • Licensing Assistance
      • Renewal Assistance
      • Technical Support
    • Download Software
    • Knowledge Base
    • My Account
      • My Products
      • My Service Requests
      • My Licenses
      • My Groups
      • My Profile
    • Policies & Procedures
    • Consulting Services
      • Microsoft Platform Management
      • Data Protection
      • Unified Endpoint Management
      • Performance Monitoring
      • Database Management
    • Technical Documentation
    • Educational Services
    • User Forums
    • Video Tutorials
  • Partners
    • Overview
    • Partner Circle Log In
    • Become a Partner
    • Find a Partner
    • Technology Partners
    • Partner Community
    • Deal Alert
  • Blogs
    • IT Industry Insights
    • Quest Solution Blogs
      • Data Protection
      • Database Management
      • ITNinja
      • Microsoft Platform Management
      • Performance Monitoring
      • Toad World Blog
      • Unified Endpoint Management
  • Forums
  • 製品情報
    • すべての製品情報%E3%82%92見る
    • Change Auditor
    • Foglight
    • KACE
    • Metalogix
    • Migration Manager
    • Migrator for Notes to SharePoint
    • NetVault Backup
    • On Demand Migration for Email
    • QoreStor
    • Rapid Recovery
    • Recovery Manager
    • SharePlex
    • Spotlight
    • Toad
  • ソリューション
    • すべてのプラットフォームを見る
    • クラウド管理
    • GDPRコンプライアンス
    • データ保護
      • 概要
      • クラウド管理
      • ディザスタリカバリ
      • バックアップとリカバリ
      • Office 365 データ保護
      • 仮想化管理
      • 重複除外と複製
    • データベース管理
      • 概要
      • DevOps
      • データの準備と分析
      • データベースのクラウド移行
      • データベースパフォーマンス監視
      • データベース管理
      • データベース複製ソフトウェアツール
    • 統合エンドポイント管理
      • 概要
      • エンドポイントコンプライアンス
      • エンドポイントセキュリティ
      • エンドポイントの可視化
    • Microsoftプラットフォーム管理
      • 概要
      • ハイブリッドActive Directoryのセキュリティとガバナンス
      • Microsoftプラットフォームの移行計画と統合
      • セキュリティとコンプライアンス
      • 情報アーカイブおよびストレージ管理ソリューション
      • Windowsのバックアップとリカバリ
      • Microsoft Serverのパフォーマンスと可用性
      • レポート作成機能
      • グループポリシーと権限
    • パフォーマンス監視
  • サービス
    • コンサルティングサービス
      • 概要
      • Microsoftプラットフォーム管理
      • データ保護
      • 統合エンドポイント管理
      • パフォーマンス監視
      • データベース管理
    • トレーニングと認定資格
    • サポートサービス
  • サポート
    • サポートホーム
    • 製品で検索
      • All Products
      • AppAssure
      • Archive Manager
      • Change Auditor
      • Desktop Authority
      • DR Series
      • Foglight
      • KACE
      • Migration Manager
      • NetVault
      • Rapid Recovery
      • SharePlex
      • Toad
      • vRanger
    • お問い合わせ
      • すべて
      • カスタマサービス
      • ライセンス アシスタンス
      • 更新のアシス%E3%82%BFンス
      • 技術サポート
    • コミュ%E3%83%8Bティフォーラム
    • ソフトウェアのダウン%E3%83%ADード
    • ナ%E3%83%AC%E3%83%83ジ%E3%83%99ース
    • マイアカウント
      • マイ プロダクト
      • Myサービスリクエスト
      • マイ ライセンス
      • マイ グループ
      • マイ プ%E3%83%ADフ%E3%82%A1イル
    • ポリ%E3%82%B7ーおよび手順
    • コンサル%E3%83%86ィングサー%E3%83%93ス
      • Microsoftプラットフォーム管理
      • データ保護
      • 統合エンドポイント管理
      • パフォーマンス監視
      • データベース管理
    • リリースノートおよびガイド
    • 教育サービス
    • ビデオチュートリアル
  • トライアル
  • パートナー
    • 概要
    • Partner Circleへのログイン
    • パートナーになる
    • Find a Partner
    • パートナーコミュニティ
    • Deal Alert
  • コミュニティ
Quest Community
Quest Community
  • Site
  • User
  • Site
  • Search
  • User
Foglight
Foglight
Foglight Administrators Getting the most out of Foglight's .NET Monitoring - Part 1
  • Forum
  • Wikis
  • Sub-Groups
  • More
  • Cancel
  • New
  • -Foglight Administrators
    • A New Foglight Service Status Widget - Text with Colored Background
    • Adding APM views to an existing Foglight Java cartridge installation
    • Adventures in Agent Creation - Part 1
    • Adventures in Agent Creation - Part 2
    • Adventures in Agent Creation - Part 3
    • Anonymizing the Foglight End User Monitoring Solution
    • Another Foglight Service Status Widget - Colored Text
    • +Building a custom dashboard to summarize LogFilter alarms
    • Building a geo drag and drop Foglight dashboard for a service
    • Building Complex Schedules with Foglight
    • Busting Frame Busters in Foglight Experience Viewer (FxV)
    • Community Cartridge: Notification Management Cartridge
    • Compatibility for Navigation Timing API
    • Configuring Internet Explorer 9 (IE9), to best work with Foglight
    • Converting Foglight 4 Script Agents to Foglight 5
    • Creating Load Testing Scripts from FxM and FxV Session Data
    • Custom Agents - Introduction to Script Agents
    • Custom Agents - Script Agent Data Modeling and Units
    • Custom Foglight Dashboards: adding alarm colors to spinners, jelly beans and other gauges
    • Custom Script Agent 1: Leverage an Existing Monitoring Script To Push Data into Foglight
    • Custom Script Agent 2: Build a WCF Dashboard to View the Custom Agent Data
    • Custom Script Agent 3: Add a Metric and Build a WCF Chart to Display it
    • Custom Script Agent 4: Add a Metric to a Table
    • Customizing Foglight – Expert Services Discount Available for a Limited Time!
    • Customizing the out-of-the-box Host Status view
    • Dashboard speed-up
    • Deploying Two FglAMs to the Same Windows Host and running each as a Windows Service
    • Different Thresholds for Different Tablespaces
    • Different Thresholds for Different Tablespaces - Part 2
    • Emailing reports with the proper name and format
    • Everything You Need to Know About Udyam Registration
    • FGL IDE (Export Customizations & more)
    • Flexible, Cost-effective Remote Administration Services
    • Foglight 5 - Topology Localization
    • Foglight Advanced Administration Training - Limited Space for February 2012
    • Foglight APM Basics (Videos)
    • Foglight APM Features (videos)
    • +Foglight Best Practices
    • Foglight Best Practices (videos)
    • Foglight Best Practices Monthly Webcast – Sign Up for Session 1!
    • Foglight Best Practices: Dashboards and Reports Webcast Registration Open Now!
    • Foglight dashboard as a SharePoint WebPart
    • Foglight Dev Camp & Hackathon 2017
    • Foglight End User Management: Using Network TAPs versus a Switch SPAN Port
    • Foglight End User Service Availability Reporting, Foglight Experience Monitor or Foglight Transaction Recorder which one to use?
    • Foglight Event Synchronization Solution for HP Operations Manager Services Pack Available Now!
    • Foglight Experience Viewer (FxV) URL Search Shortcuts
    • Foglight Host OS Monitoring (videos)
    • Foglight iGoogle Gadget
    • Foglight nologinuser dashboard in SharePoint
    • Foglight Public Virtual Training Courses
    • Foglight Quickstart Services Offering
    • Foglight Reporting using Metric Queries or Groovy
    • Foglight Training Classes -- Public and Private Options Available
    • Foglight Training Packages with Free Healthcheck Services - Limited Time Offer
    • Fraud Support with FxV
    • FxM and Apache Proxy Server (X-Forwarded-Host)
    • FxM: IP Multicasting and Sessionizing
    • FxV Storage Tier Expansion & Analysis Repository Considerations
    • Getting the most out of Foglight's .NET Monitoring - Part 1
    • Getting the most out of Foglight's .NET Monitoring - Part 2: Agent Configuration Specifics and Best Practices
    • Getting the most out of Foglight's .NET Monitoring - Part 3: Monitoring a .NET Executable Application
    • HDIDT - View an Exported Real User Session File
    • How are your Java components processing?
    • How to Handle NTLM within UEM
    • Improve Organizational Adoption of Your APM Solution
    • January Foglight Best Practices Thursday, January 5 - Register Now!
    • Java APM
    • June 2012 Best Practices Webcast Open for Registration!
    • Migrating your Foglight Management Server
    • Monitoring .NET Request Memory Usage with Foglight
    • Monitoring an independent Java process using Foglight
    • Monitoring application availability using Foglight Utility Agents
    • New Foglight Services Packs Available
    • New Sizing Guide for FxM and FxV
    • New UEM Sizing Guide
    • Predicting the Impact of Moving a Guest to Another Host
    • +Quest Application Performance Monitoring (APM) Implementation Methodology
    • Reading a XML File with a powershell script agent
    • Really Simple (Foglight) Syndication
    • Services Section of Quest.com Gets a Facelift
    • Setting the value of a Registry Variable from the Command Line
    • SNMP trap variables in Foglight Alarms
    • The End-User as an Instrument...
    • Thoughts from the road - Foglight Java agent Tag and Follow
    • +Thoughts from the road – User session replay - YOU CAN ACTUALLY DO THAT???
    • Training Update - New Foglight Reporting Course Available
    • Understanding Foglight Metrics
    • Updates to Quest's Foglight Public Virtual Training Calendar
    • Use a Foglight to monitor itself
    • Use Foglight to Drive Business Performance
    • Use Foglight to monitor itself
    • User Experience Mgmt Overview
    • Using telnet or wget to check connectivity
    • Using the ConfigService API to setup agent properties (ASPs)
    • Utilizing MS Exchange distribution lists to help with user attribute maintenance
    • We've Redesigned SupportLink to Get You Answers Faster Than Ever - See for Yourself and Enter to Win an iPad!
    • [Case Scenario] - How to avoid duplicate rows when building a report with 5 min granular data
  • Custom Script Agent - Counting Files in a Windows Folder - How-To
  • Foglight Admin 101
  • Foglight monitoring application components running on Docker Containers
  • Foglight User 101
  • HabitatLux Fix Review – Trusted Home Maintenance Services in Dubai
  • Leather Wallets: The Timeless Accessory Every Man Should Own
  • Memory Utilization for all processes over X months
  • NetMonitor - Quick How-To Guide
  • Pantai Losari, sebuah ikon kota Makassar
  • Setting JBoss Server name and domain in Foglight
  • Setting Tomcat server name and domain in Foglight
  • testing a bug - Do not publish
  • WebMonitor - Quick How-To Guide
  • WebMonitor agent installation

Getting the most out of Foglight's .NET Monitoring - Part 1

Hi all,

Today I wanted to provide some information that will help you get the most out of Foglight's .NET monitoring. This article will be mainly conceptual in nature. I'll be following up with a second article that provides more practical hands-on guidance for using these concepts in Foglight's .NET agent configurations.

Foglight's .NET agent has a set of detailed tunings available in its desktop management console (which you may see listed in the Windows Start menu as the Intercept Studio or Intercept Management Console) that allow for configurations concerning Entry Points, Namespaces, and Resources. This article gives an overview of these concepts as they apply to .NET applications and will set the stage for our follow-on discussions.

Note that this article will assume that you have a basic understanding of .NET assemblies. They are an important concept that describe the physical organization of code modules in .NET, and the Intercept Management Console lets you browse assembly modules in order to use their components when configuring the .NET agent.

Namespaces

In Microsoft's .NET, namespaces are a fundamental unit of logical code grouping. Namespaces are not a replacement for assemblies, but an additional organizational technique that complements assemblies. Namespaces are a way of grouping type names and reducing the chance of name collisions. A namespace can contain both other namespaces and types. The full name of a type includes the combination of namespaces that contain that type.

The Namespace Hierarchy and Fully-Qualified Names

Here's a quick example from the .NET class library. As shown below, the Button type is contained in the System.Windows.Forms namespace. That's actually shorthand for the situation shown below, which shows that the Button class is contained in the Forms namespace that is contained in the Windows namespace that is contained in the root System namespace:

The namespace hierarchy helps distinguish types with the same name from one another - .NET developers use the Namespace statement to declare namespace hierarchies in their code. By default, a .NET project declares a root namespace that has the same name as the project. For example, you might define your own class named Button, but it might be contained in the ControlPanel namespace within the PowerPlant namespace. If the declaration was in a project called PowerLib, then the fully qualified name of the Button class would be PowerLib.PowerPlant.ControlPanel.Button.

Foglight's .NET agent comes preconfigured with a set of default namespaces which you can customize if needed using the Intercept Studio. Namespaces may be added to the default list and be treated as either Entry Points or as Resources.

Entry Points and Resources

Foglight for .Net monitors performance at two levels:

1) Entry Points - the execution time of a web page or entry points of an executable application (these are the top level functions that you would see in the Action column of Foglight's .NET Requests dashboard) and

2) Resources - the execution time of calls made from Entry Points - these are the calls which appear within the Execution Tree of a trace on a given Entry Point. Note that if an Entry Point that appears in the .NET Requests dashboard makes calls to Resources in specific namespaces, you will not see the complete execution tree for that Entry Point unless you either:

a) specify those Resources as custom Resources to monitor, or

b) tell the agent to monitor all namespaces. Note that setting the agent to monitor all namespaces may exact a level of overhead that is not desirable in production environments.

By default, Foglight's .NET agent is set to capture performance traces for Entry Points whose execution time exceeds 5000 ms (this is called the Alerting Threshold in the agent documentation). Enabling a Namespace or class as an Entry Point will cause a new event to be generated the first time the Namespace is encountered if the threshold is crossed. The cartridge comes pre-configured with a list of well-known Entry Points but you can certainly add your own (along with custom overrides for the Alerting Threshold). Using the Intercept Studio, you can add your own Entry Points as either ASP.NET pages, ASP.NET MVC pages, Web Service calls, or Custom Functions.

Monitoring Functions as Resources

A function that is enabled for monitoring as a Resource will be included in the execution tree when it is called by an Entry Point, even if monitor all namespaces monitoring is not enabled. In other words, the Resource mechanism lets you choose specific code that should be traced so that you can establish a lower level of overhead while maximizing the diagnostic depth you need. .NET code traced as a Resource will provide both execution time and local variable information. The execution time threshold setting for Resource calls is called the Sensitivity Threshold in the agent documentation.

Using the Intercept Studio, you can specify custom resources with customized overrides to the Sensitivity Thresholds.

An Example

Here's a brief example that will help tie this together.

As we said, enabling a Namespace or class as an Entry Point will cause a new event to be generated the first time the Namespace is encountered if the Alerting Threshold is crossed. Otherwise, information for that Namespace or class will be included in the event for a parent Entry Point if there is one. For example, let's say the default Alerting Threshold is set to 5000 ms, the MyCompany Namespace has been added as an Entry Point, and the following sequence of calls is made:

Call

Execution Time

  1. System.Web...

15,000

  1. MyCompany...MethodA()

14,000

  1. MyCompany...MethodB()

12,000

  1. MyCompany...MethodC()

2,000

  1. MyCompany...MethodD()

1,000

We're assuming that MethodA() is the first MyCompany method that the Foglight .NET agent sees. By enabling MyCompany as an Entry Point, MethodA() will be reported as a separate event (i.e. a top level entry in the Foglight .NET Requests dashboard). The remaining methods will be collected as Resource calls in the MethodA() Execution Tree if one of the following is true:

a) the agent has been told to Monitor All Namespaces, or

b) MethodB(), MethodC(), MethodD(), etc, have been specifically configured as Resources

Note that if MethodB(), MethodC(), and MethodD() were configured as Entry Points, rather than as Resources, then top level entries in the .NET Requests dashboard would be seen for both MethodA() and MethodB(), but not for MethodC() or MethodD() since their execution times fall below the default Alerting Threshold. Also, the Execution Tree for MethodA() would stop at MethodB(), whose aggregated execution time would be shown. In addition, you'd see the aggregated execution time for MethodB() and its children listed as Internal Execution Time (see the next section).

Internal Execution Time

In the .NET dashboard's drilldowns for performance traces, you may see portions of an Entry Point's execution time allocated to 'Internal Execution Time'. This refers to execution time not related to the currently instrumented set of resource calls. This may occur under circumstances where the ability to trace the call has been interrupted - examples of this can be a transition into obfuscated code, calls into code whose namespaces are not configured monitoring, or calls into non-.NET modules (i.e. calls into unmanaged code).

Methods to mitigate the amount of internal execution time include:

a) Directing the agent to monitor all websites by default

b) enabling namespaces for monitoring that have been disabled where the call tree includes those namespaces, and

c) if possible, minimizing the use of obfuscated code

Big thanks to my colleague Keith O'Leary who generated much of the content I've presented here. I hope you found this useful. Stay tuned for Part 2 coming to a blog entry near you.

Robert Statsinger

  • Foglight Administration .net
  • Share
  • History
  • More
  • Cancel
Related
Recommended
  • Company
    • About Us
    • Buy
    • Contact Us
    • Careers
    • News
  • Resources
    • Industry Insights Blog
    • Communities
    • Customer Stories
    • Documents
    • Events
  • Support
    • Professional Services
    • Renew Support
    • Technical Support
    • Training & Certification
    • Support Services
  • Social Networks
    • Facebook
    • LinkedIn
    • Twitter
    • YouTube
  • © 2025 Quest Software Inc. ALL RIGHTS RESERVED.
  • Legal
  • Terms of Use
  • Privacy
  • Community Feedback & Support
  • Cookie Preference Center
  • 会社名
    • 会社情報
    • 購入
    • お問い合わせ
    • 採用情報
    • ニュース
  • リソース
    • ブログ
    • お客様の事例
    • ドキュメント
    • イベント
    • ビデオ
  • サポート
    • プロフェッショナルサービス
    • サポートの更新
    • テクニカルサポート
    • トレーニングと認定資格
    • サポートサービス
  • ソーシャルネットワーク
    • Facebook
    • Instagram
    • LinkedIn
    • Twitter
    • YouTube
  • © 2025 Quest Software Inc. ALL RIGHTS RESERVED.
  • 「法務」
  • ご利用規約
  • 個人情報保護方針
  • コミュニティのフィードバックとサポート