cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Data Explorer Advanced Mode Help

rmouser
Observer

I have managed to modify a few queries provided by Dynatrace gurus, but am struggling with advanced mode.

 

Two requests:

First, does anyone have an editor plugin that supports syntax highlighting and formatting of advanced mode queries? A plugin for VS Code would give you my ultimate respect and gratitude forever. 😉

Second, any suggestions on how to make the following advanced mode query return results across multiple applications? My use case is to see an entire sales funnel that spans multiple apps/subdomains. "APPLICATION_NAME" is a sanitized application name since this is a public post.

builtin:apps.web.action.largestContentfulPaint.load.browser:filter(and(or(in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Microsoft Edge mobile~")")),in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Chrome Mobile~")")),in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Microsoft Edge~")")),in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Chrome~")"))),in("dt.entity.application_method",entitySelector("type(application_method),fromRelationship.isApplicationMethodOf(type(APPLICATION),entityName.equals(~"APPLICATION_NAME~"))")))):splitBy("dt.entity.application_method"):percentile(75):auto:sort(value(percentile(75),descending)):limit(10)

4 REPLIES 4

Mohamed_Hamdy
DynaMight Champion
DynaMight Champion

Hi @rmouser,

I don't know if you are looking for related info on the frontend or if the above is just an example, for such cases, I'm using USQL, and if you are looking for alternative way you can use the below sample:

SELECT DISTINCT(useraction.application), browserMajorVersion, useraction.largestContentfulPaint, useraction.name FROM usersession where useraction.largestContentfulPaint IS NOT NULL and applicationType = "WEB_APPLICATION" ORDER BY useraction.largestContentfulPaint DESC

Certified Dynatrace Professional | Certified Dynatrace Services Delivery - Observability & CloudOps | Dynatrace Partner - yourcompass.ca

rmouser
Observer

Thanks @Mohamed_Hamdy I was trying to put this on a dashboard, and find the session visuals a bit lacking. Yes, this is for front end web vitals.

I saw someone else in the forum (wish I could find again to credit) that indented the code nicely, so I did the same by hand in VScode. Then I looked at the documentation and found entityName.in, which allows me to provide a list of applications by name.

Here is what I ended up using (pretty indentation lost in the copy paste):

 

builtin:apps.web.action.largestContentfulPaint.load.browser
:filter(and(
or(
in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Microsoft Edge mobile~")")),
in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Chrome Mobile~")")),
in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Microsoft Edge~")")),
in("dt.entity.browser",entitySelector("type(browser),entityName.equals(~"Chrome~")"))),
in("dt.entity.application_method",entitySelector("type(application_method),fromRelationship.isApplicationMethodOf(type(APPLICATION),entityName.in(~"PROD - aem-www.reliant.com~",~"PROD - shop.reliant.com~",~"PROD - signup.reliant.com~"))"))
)
)
:splitBy("dt.entity.application_method")
:percentile(75)
:auto
:sort(value(percentile(75),descending))
:limit(40)

This gives me a nice list of pages sorted by worst LCP to best. I can color code the really bad ones read, lessor bad ones yellow, and good ones green. Kind of motivating to those improving performance, IMHO. 😉

Amazing @rmouser , Thanks for sharing, if this gives you the needed result using Entity selector, then proceed with it, you can also add the other one as an indicator for each user action and add it in the table view below the one used with Entity selector.

Mohamed_Hamdy_0-1683228235095.png

 

Certified Dynatrace Professional | Certified Dynatrace Services Delivery - Observability & CloudOps | Dynatrace Partner - yourcompass.ca

rmouser
Observer

Here's the graphic displayed on the dashboard, page names hidden. I did not do this on my own, standing on the shoulders of giants. All I figured out was how to do it across multiple applications (subdomains in this case).

 

graph.png

Featured Posts