<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Pro Tip: Scatterplots with two metric variables/timeseries in Dynatrace tips</title>
    <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/290590#M1809</link>
    <description>&lt;P&gt;I just tested and apparently now, simply creating two timeseries is now allowed for a scatterplot, so this was a nice workaround, but it is not necessarily needed anymore. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Both ways work now.&lt;/P&gt;&lt;P&gt;So now you could simply create a DQL tile with&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;timeseries {response_time_p99 = percentile(dt.service.request.response_time, 99),
request_count = sum(dt.service.request.count)},
interval: 1m, by:{dt.entity.service}, union:true
|fieldsAdd entityName(dt.entity.service)
|filter dt.entity.service == "SERVICE-1234567891011"&lt;/LI-CODE&gt;&lt;P&gt;and switch to a scatterplot visualization immediately. Nice improvement to make it more user friendly.&lt;/P&gt;</description>
    <pubDate>Mon, 01 Dec 2025 14:20:33 GMT</pubDate>
    <dc:creator>marina_pollehn</dc:creator>
    <dc:date>2025-12-01T14:20:33Z</dc:date>
    <item>
      <title>Pro Tip: Scatterplots with two metric variables/timeseries</title>
      <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/289840#M1800</link>
      <description>&lt;P&gt;I am trying to break down how you can use the new scatterplot visualization (especially as using it with two metric timerseries does not seem to be a default option). So, I wrote a small blog post on a workaround.&lt;/P&gt;
&lt;P&gt;You can find my original post here:&amp;nbsp;&lt;A href="https://conclusionxforce.cloud/blog/mini-dynatrace_newsletter_november_2025/" target="_blank" rel="noopener"&gt;Mini Dynatrace Newsletter - November 2025 Edition – Conclusion Xforce Tech Playground&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The scatterplot feature exists&amp;nbsp;since 21 oct 2025, SaaS version 1.326 (auto-update, so if you have SaaS this feature is available automatically)&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Summary (from the release notes):&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;“You can now use scatterplots in Dashboards and Notebooks to visualize data relationships and identify patterns, such as correlations between response time and request count. This new visualization helps you analyze metrics more effectively and uncover insights in your observability data.”&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Mini Demo:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Let us start off easy with a scatterplot of one metric (y-axis) against the timeframe (x-axis), so a metric over time. This is a nice alternative to line graphs.&amp;nbsp;&lt;/P&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;PRE&gt;timeseries avg(dt.service.request.response_time), by:{dt.entity.service}
|fieldsAdd entityName(dt.entity.service)
|filter dt.entity.service.name == "CreditCardValidation" &lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;For my queries, I used the Dynatrace demo environment.&lt;/DIV&gt;
&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_0-1763551244712.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30939i12AD4D2554E3FD30/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_0-1763551244712.png" alt="marina_pollehn_0-1763551244712.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;If I select a bigger timeframe now, Dynatrace will adjust the interval, meaning that many datapoints will be merged to one. I am not keen on that, as it defeats the purpose of a scatterplot which is supposed to show all datapoints, but we can avoid it by adding an interval ourselves Like that:&lt;/P&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;PRE&gt;timeseries avg(dt.service.request.response_time), interval:1m, by:{dt.entity.service}
|fieldsAdd entityName(dt.entity.service)
|filter dt.entity.service.name == "CreditCardValidation"&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_1-1763551244685.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30940i721A0CA4470C22D1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_1-1763551244685.png" alt="marina_pollehn_1-1763551244685.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Now let’s get started on the interesting part, with two different “metric variables” on the x-axis and the y-axis. A small warning/disclaimer: If you create two metrics as a line chart on a dashboard, you can actually also just append them - less beautiful maybe, but it works. As we do want to know the exact y-value for every x-value, to understand their relationship (and these values will be shown without their timestamp on the dashboard), this approach will not work (at least not without additional data engineering with DQL). So you have to use join or lookup commands or create two timeseries immediately in the first step (see my example). More information on joins and lookups:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://docs.dynatrace.com/docs/discover-dynatrace/platform/grail/dynatrace-query-language/commands/correlation-and-join-commands" target="_blank" rel="noopener"&gt;Dynatrace Docs - DQL Correlation and join commands&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;First, we create two metric timeseries:&lt;/P&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;PRE&gt;timeseries {response_time_p99 = percentile(dt.service.request.response_time, 99),
request_count = sum(dt.service.request.count)},
interval: 1m, by:{dt.entity.service}, union:true
|fieldsAdd entityName(dt.entity.service)
|filter dt.entity.service == "SERVICE-1234567891011"
//enter your own service ID here&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;Unfortunately, we cannot choose the scatterplot visualization immediately. I actually would have liked that… so we will go for a workaround to make it possible. This is not documented in the release notes or in the Dynatrace Documentation so feel free to follow my steps.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_2-1763551244534.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30938iC62240E567E79F8C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_2-1763551244534.png" alt="marina_pollehn_2-1763551244534.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_3-1763551244655.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30942i04EDAAF6116BB790/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_3-1763551244655.png" alt="marina_pollehn_3-1763551244655.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;We need to look at a record list, and no longer at two timeseries. The following commands will convert the timeseries to single records:&lt;/P&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;PRE&gt;// Expanding timeseries to single records
|fields all = iCollectArray(record(response_time_p99= response_time_p99[],
request_count = request_count[])),dt.entity.service.name
|expand all
|fieldsAdd request_count = all[request_count], response_time_p99 = all[response_time_p99]
|fieldsRemove all&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_4-1763551244715.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30943iD9680A40C1A25B3D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_4-1763551244715.png" alt="marina_pollehn_4-1763551244715.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_5-1763551244642.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30941iBC712BAB2B159AAF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_5-1763551244642.png" alt="marina_pollehn_5-1763551244642.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Now it makes sense to remove the outliers (a boxplot would be great now to know which ones to exclude, but that feature does not exist in Dynatrace yet). So, we add the following rules (based on the visual impression of outliers):&lt;/P&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;PRE&gt;//Removing outliers
|filterOut request_count &amp;gt; 150 //(number of requests)
|filterOut response_time_p99 &amp;gt; 100000 //(100ms)&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&lt;SPAN&gt;Result:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_6-1763551244717.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30945iF66398A09B47088A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_6-1763551244717.png" alt="marina_pollehn_6-1763551244717.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The amount of requests per minute seems to have a positive relationship with the response time of the slowest 1% requests (more requests are related to a higher response time).&lt;/P&gt;
&lt;P&gt;Let’s check if the visual impression of a positive correlation between the “slowest 1% requests” response time and the request count actually exists. For that, we will add the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;|summarize correlation()&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;command.&lt;/P&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;PRE&gt;//Pearson correlation coefficient
|summarize correlation(request_count,response_time_p99)&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;The result is indeed a positive relationship:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_7-1763551244606.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30944i05060D6A40247E00/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_7-1763551244606.png" alt="marina_pollehn_7-1763551244606.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;|summarize correlation()&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;already exists for some time, but does fit the use case here, that’s why I included it.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;My 2cts:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Mostly happy about the feature. More dashboarding options and more data science is always a good step forward. I do miss the option to add a trendline (see the example with R).&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_8-1763551244724.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30946iD9DAEB291B4D9A8B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_8-1763551244724.png" alt="marina_pollehn_8-1763551244724.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;For me, this belongs to a good scatterplot. Unfortunately, there is also no documentation page for scatterplots so far, so the link from the DQL tile does not work yet:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marina_pollehn_9-1763551244651.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/30947i0A97BB6BCC36670C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marina_pollehn_9-1763551244651.png" alt="marina_pollehn_9-1763551244651.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Furthermore, it is not possible yet to simply add two timeseries and turn them into a scatterplot with a normal metrics tile or DQL tile without intermediate steps (see the error message). That could be improved in the future to make this feature more accessible to everyone.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Nov 2025 14:46:29 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/289840#M1800</guid>
      <dc:creator>marina_pollehn</dc:creator>
      <dc:date>2025-11-26T14:46:29Z</dc:date>
    </item>
    <item>
      <title>Re: Pro Tip: Scatterplots with two metric variables/timeseries</title>
      <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/289854#M1801</link>
      <description>&lt;P&gt;Thank you so much!&amp;nbsp;&lt;img class="lia-deferred-image lia-image-emoji" src="https://community.dynatrace.com/html/@9BD876A77FEF3D5EF4BC972CF8A97CB1/images/emoticons/take_my_money.png" alt=":take_my_money:" title=":take_my_money:" /&gt;&lt;img class="lia-deferred-image lia-image-emoji" src="https://community.dynatrace.com/html/@9BD876A77FEF3D5EF4BC972CF8A97CB1/images/emoticons/take_my_money.png" alt=":take_my_money:" title=":take_my_money:" /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Nov 2025 12:28:36 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/289854#M1801</guid>
      <dc:creator>AntonPineiro</dc:creator>
      <dc:date>2025-11-19T12:28:36Z</dc:date>
    </item>
    <item>
      <title>Re: Pro Tip: Scatterplots with two metric variables/timeseries</title>
      <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/290516#M1803</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/2456"&gt;@marina_pollehn&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Great TIP! Thank you very much!&lt;img class="lia-deferred-image lia-image-emoji" src="https://community.dynatrace.com/html/@0159DAC3E7471E7A67CC76770F97BEC3/images/emoticons/clap.gif" alt=":clap:" title=":clap:" /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2025 17:01:05 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/290516#M1803</guid>
      <dc:creator>Mizső</dc:creator>
      <dc:date>2025-11-28T17:01:05Z</dc:date>
    </item>
    <item>
      <title>Re: Pro Tip: Scatterplots with two metric variables/timeseries</title>
      <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/290522#M1804</link>
      <description>&lt;P&gt;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/2456"&gt;@marina_pollehn&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Thanks for the Pro Tip.&lt;/P&gt;&lt;P&gt;Also noticed that you saw the Holiday-aware hack that Dynatrace just did in time for Thanksgiving. It's really the second most voted Product Idea in the Community (I know because it's mine and have been tracking it for more than 7 years now), but unusable except for the US at the moment.&lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2025 19:55:19 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/290522#M1804</guid>
      <dc:creator>AntonioSousa</dc:creator>
      <dc:date>2025-11-28T19:55:19Z</dc:date>
    </item>
    <item>
      <title>Re: Pro Tip: Scatterplots with two metric variables/timeseries</title>
      <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/290590#M1809</link>
      <description>&lt;P&gt;I just tested and apparently now, simply creating two timeseries is now allowed for a scatterplot, so this was a nice workaround, but it is not necessarily needed anymore. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Both ways work now.&lt;/P&gt;&lt;P&gt;So now you could simply create a DQL tile with&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;timeseries {response_time_p99 = percentile(dt.service.request.response_time, 99),
request_count = sum(dt.service.request.count)},
interval: 1m, by:{dt.entity.service}, union:true
|fieldsAdd entityName(dt.entity.service)
|filter dt.entity.service == "SERVICE-1234567891011"&lt;/LI-CODE&gt;&lt;P&gt;and switch to a scatterplot visualization immediately. Nice improvement to make it more user friendly.&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2025 14:20:33 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Scatterplots-with-two-metric-variables-timeseries/m-p/290590#M1809</guid>
      <dc:creator>marina_pollehn</dc:creator>
      <dc:date>2025-12-01T14:20:33Z</dc:date>
    </item>
  </channel>
</rss>

