TelemetryDeck / Issues

When something is wrong in TelemetryDeck-Land, or if you have a cool idea how to make things better, this is the place to create an Issue.
https://telemetrydeck.com
36 stars 0 forks source link

Improve Display of URLs in Tables #336

Closed winsmith closed 7 months ago

winsmith commented 8 months ago

When displaying URLs in tables, data gets truncated in favour of URL parts (such as "https" and the host) that might not be as interesting. Find ways of displaying the more interesting parts of the URL instead.

Interesting side note: we don't canonically know the base URL of the website we display. Might have to ask the user for that.

cameronmcefee commented 8 months ago

The OP mostly covers the topic, but here's some additional details.

This is what the Overview looks like for me at a fairly wide browser size on a large monitor

Screenshot 2024-01-17 at 9 45 14 AM

When thinking about urls, I have a couple motivations:

Possible solutions:

When I originally tried sending just the path as url it showed up in the interface as :///my-path which functionally resolved the problem, but is ugly. In thinking through my own solution for this, I've started considering sending the URL and the path with my signal. I can use the path for filtering because it has no particular significance to TelemetryDeck so it won't get mutated like the url does.

The downside of this is that I imagine the Overview won't pick that up, so I'll need to make my own Insight to view that. Not terrible, but not natively supported.

From a product-first perspective, that might be a solution. When ingesting urls, create an extra path value that can be used for filtering. That feels like a fairly clean solution that wouldn't require adding something like a "only apply to path" or "include host in graph" options.

Interesting side note: we don't canonically know the base URL of the website we display. Might have to ask the user for that.

I know some services ask you which urls you load your tracking script on, but I'm not sure you'd actually half to do that. If you were to parse the url into more pieces (base url, path, maybe utms if present) and shove that into the signal data, then you could just set up filters for those bits.

winsmith commented 7 months ago

Huh, actually including the path in the SDK definitely sounds like the easiest solution to this problem! Actually, we do a lot of URL parsing in the ingest API anyway. Let me try this out.

winsmith commented 7 months ago

Update: The ingest API, when receiving signals from the Web SDK, now extracts these properties:

If you build your own TopN (breakdown) query, this is what this looks like:

Screenshot 2024-01-18 at 14 36 23

Can you work with that? I think I'll add a lil switcher to the dashboard to switch the default insight between URLs and Paths

cameronmcefee commented 7 months ago

Yep, I think that works great! Thanks for the improvement :pray: