[HN Gopher] Show HN: Wirequery - Full-stack session replay and more
___________________________________________________________________
Show HN: Wirequery - Full-stack session replay and more
Author : wnederhof
Score : 70 points
Date : 2024-03-23 18:36 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| maartenh wrote:
| Seems interesting. I can't decipher from the docs nor demo if
| this is about debugging _live_ behavior of the systems under
| observation, (e.g. it only captures stuff for which there are
| queries), or if it actually stores all your requests and
| responses in a psql db.
| wnederhof wrote:
| When using the Explore functionality, the data is directly
| captured and sent back to the user when the query is entered.
| However, when the query is part of a Session or if it's saved
| as a Query, the data is stored in the database :-)
| wnederhof wrote:
| Just to add to that: yes, it actually starts querying once the
| query has been entered. It basically sends that instruction to
| the application that has the WireQuery SDK integrated, which,
| in turn, only sends back data to WireQuery that meets the
| requirements of the query. Thus, it does not store hundreds of
| thousands logs in a very large database like most logging tools
| do. This way, you can deploy the application with _far_ fewer
| resources - yet, by allowing the end-user to instantiate a
| session (as well as a WireQuery user), you only capture what is
| actually relevant to be captured.
| codethief wrote:
| Interesting project!
|
| How does this compare to rrweb[0], the library that Sentry and
| many other commercial offerings for frontend monitoring use?
|
| [0]: https://www.rrweb.io/
| Southland wrote:
| It's using rrweb -
| https://github.com/wirequery/wirequery/blob/a276e52b2b42aecb...
| wnederhof wrote:
| WireQuery uses rrweb for capturing the frontend interactions.
| However, perhaps I can answer a similar question, which is how
| it compares to other offerings.
|
| The main difference between existing tools and WireQuery is
| that WireQuery was designed for capturing the interactions
| within the complete stack. This manifests itself in the
| following ways:
|
| - The frontend recording is paired with the network calls on
| the backend, which can consist of the entire trace (i.e. the
| data of system A calling system B, system B calling system C,
| etc.), _including_ the actual request and response bodies,
| headers, etc; - There is an exploration and query-in-the-
| background feature. These features allow you to run arbitrary
| queries against a backend system that will capture any network
| request that meets your criteria, optionally paired with the
| complete trace and some transformations. For instance, this can
| be helpful when you want to know what the API calls were with
| their payloads when a system in the middle of your landscape
| retuns a status code of 500. - The SDKs contain masking
| facilities to ensure that sensitive data is scrubbed. For
| instance, using Java, you can simply use @Masked on a field to
| have the sensitive data removed. Similar offerings often
| require you to do that manually.
| codethief wrote:
| Thanks for elaborating!
| fulafel wrote:
| TLDR: it's for web app sessions.
___________________________________________________________________
(page generated 2024-03-24 23:02 UTC)