Skip to technology filters Skip to main content
Dynatrace Hub

Extend the platform,
empower your team.

Popular searches:
Home hero bg
Remote Desktop ProtocolRemote Desktop Protocol
Remote Desktop Protocol

Remote Desktop Protocol

Gather metrics and gain insights into the performance of user sessions over RDP.

Extension
Free trial
The extension creates user sessions and actions for your users' RDP activity. Report on both session dynamics and performance leveraging by Dynatrace's Real User Monitoring and User Session Query Language.Every RDP session is represented in Dynatrace.Gain a view into RDP Performance at a glance by opening the detail page of your session Hosts. The extension adds a tile with key metrics collected.
  • Product information
  • Release notes

Overview

The Microsoft Remote Desktop Protocol (RDP) provides remote display and input capabilities over network connections for Windows-based applications running on a server. RDP is designed to support different types of network topologies and multiple LAN protocols. RDP also forms the basis for enterprise level solutions like Azure Virtual Desktop (formerly Windows Virtual Desktop), a desktop and app virtualization service that runs on the cloud.

This extension is designed to run on RDP session hosts, alongside the OneAgent. It leverages Windows Event Logs and Performance Counters to gather details about ongoing RDP sessions, providing insights into sessions performance as well as the health of the session host. The data gathered is represented in Dynatrace as Real User Monitoring (RUM) Sessions and Actions, or Metrics.

This is intended for users who:

  • Manage the infrastructure responsible for delivering virtual desktops to their users over RDP
  • Want to understand the performance of the RDP protocol and health of their session hosts
  • Need insights into the dynamics of user activity in remote desktop environments

This extension enables you to:

  • Track basic RDP activity for users across different session hosts
  • Monitor the Network and Graphics performance of the RDP protocol on session hosts
  • Correlate poor user experience with insufficiencies in client, server, or network resources

Use cases

  • Network Performance - is the user accessing the remote host over a slow network? does the client have enough bandwidth? is the session host skipping frames due to network insufficiencies?
  • Graphics Performance - what is the frame quality of the user's session? does the session host skip frames due to network, client, or server insufficiencies? is frame encoding taking the appropriate amount of time?
  • Input Delays - is the RDP kernel registering delays from when the user interacted with an application until the application reacted to that input?
  • Capacity - are active users being impacted by large amounts of inactive sessions holding resources on the host? is your session host clearing these appropriately?
  • Security - is there a large amount of failed logins to the hosts? what are the accounts that result in auhtentication failures, and for what reason?

Get started

To get started, first install the OneAgent on your session hosts. Infrastructure-only mode is sufficient for this extension to function correctly.

Prepare your Windows host

The extension requires access to programmatically read Windows Event Logs.

  1. Enabling access for Operational logs is done through the Windows registry. Navigate to the Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog location using a tool like regedit and ensure the following keys are present:

    • Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
    • Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
    • Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
    • Microsoft-Windows-RemoteDesktopServices-RdpCoreCDV/Operational

    ⚠️ Note: The name of the key (folder) must be exactly like in the above list. It does not

represent nested folders.

  1. Enabling access for the Security log is done for individual accounts (using SID notation). This is most easily done using the wevtutil command. Run the following command from a terminal:

    wevtutil sl Security "/ca:O:BAG:SYD:(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;S-1-5-20)(A;;0x1;;;S-1-5-11)"
    

    This enables read access to the log for the Authenticated Users (S-1-5-11), Network

Service (S-1-5-20), and Event Log Readers (S-1-5-32-573) accounts.

Configure the extension

After adding the extension to your environment, its monitoring configuration offers a few options for configuring its behavior, specifically around Real User Monitoring.

If the extension should create User Sessions and Actions, you must enable Report RUM data. Once this is enabled, the following options appear:

  • Application ID - the ID of a Custom Application for reporting the collected data
  • Detect Beacon URL
    • If enabled, the extension will attempt to read the OneAgent configuration files and detect a suitable URL for initializing the OpenKit framework and sending the RUM data through it.
    • If disabled, you must specify the RUM Beacon URL using the Beacon URL field.
  • Reduce DEM consumption - for long running sessions (> 30 min.), this option will reduce the amount of "Network Performance", "Graphics Performance", and "Session Input Delay" user actions (normally reported every minute) in order to reduce the amount of licenses utilized (1 session is consumed every 200 actions).

Opting in/out for metrics is done through the extension's feature sets, which are seen on the last step of the configuration process.

Compatibility information

Minimum supported OneAgent version: 1.280

Supported RDP clients:

  • Direct RDP connections (mstsc.exe)
  • Microsoft Remote Desktop App (older than October 2022 release)

Session Input Delay and Process Input Delay are only supported for Windows Server 2019, or Windows 10 (1809), or later.

FAQ

How can I validate my setup of Windows Event Logs?

After following the setup instructions, you can run the get-eventlog -List command from a Powershell terminal. The output will list all logs log available for reading in an output similar to this:

  Max(K) Retain OverflowAction        Entries Log
  ------ ------ --------------        ------- ---
  20,480      0 OverwriteAsNeeded         136 Application
     512      7 OverwriteOlder              0 Microsoft-Windows-RemoteDesktopServices-RdpCoreCDV/Operational
     512      7 OverwriteOlder            334 Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
     512      7 OverwriteOlder             55 Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
     512      7 OverwriteOlder             85 Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
  20,480      0 OverwriteAsNeeded         769 Security
  20,480      0 OverwriteAsNeeded       1,026 System

Ensure that all logs are listed in the Log column, and all of them have a value greater than zero in the Entries column.

How do I find my Beacon URL and Custom Application ID?

After creating a Custom Application, open its detail page, click the ... button, then select Edit. On the page that opens, navigate to Instrumentation wizard and find these details listed as Application ID and Beacon URL

I'm missing Session Input Delay and Process Input Delay data, what should I do?

While we noticed it happen particularly with Session and Process Input Delay performance counters, it is a known issue that Microsoft Performance Counters may break and require rebuilding.

Following Microsoft's guide, run the following commands as Administrator:

lodctr /R
WINMGMT.EXE /RESYNCPERF
Get-Service -Name "pla" | Restart-Service -Verbose
Get-Service -Name "winmgmt" | Restart-Service -Force -Verbose
Dynatrace
By Dynatrace
Dynatrace support center
Subscribe to new releases
Copy to clipboard

Extension content

Content typeNumber of items included
screen injections
1
metric metadata
20
screen chart groups
1

Feature sets

Below is a complete list of the feature sets provided in this version. To ensure a good fit for your needs, individual feature sets can be activated and deactivated by your administrator during configuration.

Feature setsNumber of metrics included
Metric nameMetric keyDescriptionUnit
Active sessionsrdp.terminal.active_sessionsThe number of Active RDP Sessions on the host. Active Sessions are actively being used by users logged onto their Virtual Desktop.Count
Inactive sessionsrdp.terminal.inactive_sessionsThe number of Inactive RDP Sessions on the host. Inactive Sessions are not currently being used by users but have not been terminated, users still being able to resume.Count
Active usersrdp.terminal.active_usersThe number of Active Users on the RDP Host. Active Users are actively logged onto their Virutal Desktops.Count
Login failuresrdp.terminal.login_failures_countThe number of failed login attempts along with failure details.Count
Metric nameMetric keyDescriptionUnit
Session input delayrdp.session_input_delayThe longest time it takes for an input (user click/keypress) to reach the application inside an RDP session. The value is reported per session.MilliSecond
Process input delayrdp.process_input_delayThe longest time it takes for an input (user click/keypress) to reach the application inside an RDP session. The value is reported per process.MilliSecond
Metric nameMetric keyDescriptionUnit
Total sessionsrdp.terminal.total_sessionsThe total number of RDP Sessions on the host. This includes both active and inactive sessions.Count
Metric nameMetric keyDescriptionUnit
Encoding timerdp.graphics.encoding_timeThe average time spent encoding frames. For RDP encoding time should be under 33 milliseconds.MilliSecond
Frame qualityrdp.graphics.frame_qualityThe quality of the output frame represented as a percentage of the quality of the source frame.Percent
Frames skipped (client)rdp.graphics.frames_skipped_clientThe number of frames skipped per second due to insufficient client resourcesPerSecond
Frames skipped (network)rdp.graphics.frames_skipped_networkThe number of frames skipped per second due to insufficient network resourcesPerSecond
Frames skipped (server)rdp.graphics.frames_skipped_serverThe number of frames skipped per second due to insufficient server resourcesPerSecond
Metric nameMetric keyDescriptionUnit
Base TCP RTTrdp.network.base_tcp_rttBase TCP round-trip time (RTT) detected in millisecondsMilliSecond
Base UDP RTTrdp.network.base_udp_rttBase UDP round-trip time (RTT) detected in millisecondsMilliSecond
Current TCP RTTrdp.network.current_tcp_rttCurrent TCP round-trip time (RTT) detected in millisecondsMilliSecond
Current UDP RTTrdp.network.current_udp_rttCurrent UDP round-trip time (RTT) detected in millisecondsMilliSecond
TCP bandwidthrdp.network.tcp_bandwidthCurrent TCP bandwidth detected in bits per second (bps)BitPerSecond
UDP bandwidthrdp.network.udp_bandwidthCurrent UDP bandwidth detected in bits per second (bps)BitPerSecond
Loss raterdp.network.loss_rateThe number of packets lost in transmission, expressed as a percentage of all packets.Percent
Retransmission raterdp.network.retransmission_rateThe number of packets retransmitted due to loss or damage, expressed as a percentage of all packetsPercent

Related to Remote Desktop Protocol

OneAgent logo

OneAgent

The simplest way to capture all observation signals automatically and in context

Windows logo

Windows

Windows server performance with real-time metrics and automated issue detection

Full version history

To have more information on how to install the downloaded package, please follow the instructions on this page.
ReleaseDate

Full version history

Fixed in this version:

  • No permission to read OneAgent connectivity details

Full version history

Fixed in this version:

  • RDP Performance card would show up on all hosts' screens

Full version history

🚀 Improved in this version

  • OpenKit initialization and recovery times are much quicker

Full version history

🪲 Fixed in this version:

  • Auto-detected beacon endpoint URLs were wrongly formatted

🚀 Improved in this version:

  • When beacon auto-detect is enabled, the extension will find a new beacon endpoint and reconnect in case the original endpoint fails. The recovery time will vary depending on the amount of endpoints available to that OneAgent.

Full version history

✨ New in this version:

  • First release of this extension, built on Extension Framework 2.0

🚀 Improved in this version:

  • Automatic distribution to OneAgent hosts
  • Rich metadata for collected metrics
  • Metrics are displayed on the Host detail page
Dynatrace Hub
Get data into DynatraceBuild your own app
All (770)Log Management and AnalyticsKubernetesAI and LLM ObservabilityInfrastructure ObservabilitySoftware DeliveryApplication ObservabilityApplication SecurityDigital ExperienceBusiness Analytics
Filter
Type
Built and maintained by
Deployment model
SaaS
  • SaaS
  • Managed
Partner FinderBecome a partnerDynatrace Developer

Discover recent additions to Dynatrace

Problems logo

Problems

Analyze abnormal system behavior and performance problems detected by Davis AI.

Logs logo

Logs

Explore all your logs without writing a single query.

Security Investigator logo

Security Investigator

Fast and precise forensics for security and logs on Grail data with DQL queries.

Business Flow logo

Business Flow

Track, analyze, and optimize your critical business processes.

Cost & Carbon Optimization logo

Cost & Carbon Optimization

Track, analyze, and optimize your IT carbon footprint and public cloud costs.

Davis Anomaly Detection logo

Davis Anomaly Detection

Detect anomalies in timeseries using the Davis AI

Analyze your data

Understand your data better with deep insights and clear visualizations.

Notebooks logo

Notebooks

Create powerful, data-driven documents for custom analytics and collaboration.

Dashboards logo

Dashboards

Transform complex data into clear visualizations with custom dashboards.

Automate your processes

Turn data and answers into actions, securely, and at scale.

Workflows logo

Workflows

Automate tasks in your IT landscape, remediate problems, and visualize processes

Jira logo

Jira

Create, query, comment, transition, and resolve Jira tickets within workflows.

Slack logo

Slack

Automate Slack messaging for security incidents, attacks, remediation, and more.

Secure your cloud application

See vulnerabilities and attacks in your environment.

Security Overview logo

Security Overview

Get a comprehensive overview of the security of your applications.

Code-Level Vulnerabilities logo

Code-Level Vulnerabilities

Detect vulnerabilities in your code in real time.

Threats & Exploits logo

Threats & Exploits

Understand, triage, and investigate application security findings and alerts.

Are you looking for something different?

We have hundreds of apps, extensions, and other technologies to customize your environment

Leverage our newest innovations of Dynatrace Saas

Kick-start your app creation

Kick-start your app creation

Whether you’re a beginner or a pro, Dynatrace Developer has the tools and support you need to create incredible apps with minimal effort.
Go to Dynatrace Developer
Upgrading from Dynatrace Managed to SaaS

Upgrading from Dynatrace Managed to SaaS

Drive innovation, speed, and agility in your organization by seamlessly and securely upgrading.
Learn More
Log Management and Analytics

Log Management and Analytics

Innovate faster and more efficiently with unified log management and log analytics for actionable insights and automation.
Learn more