Network Endpoint Grouping

Collapses similar network request URLs into a pattern you can reuse in Network Errors and Frustrating Network Requests.

Network Endpoint Grouping collapses request URLs that differ only by IDs or other one-off segments into one pattern.

api.example.com/v1/orgs/acme/apps/123/sessions/abc and api.example.com/v1/orgs/other/apps/456/sessions/def both match api.example.com/v1/orgs/*/apps/*/sessions/*/.

Open Data & Context → Network Endpoint Grouping.

What the pattern groups

LogRocket groups Network Errors and Frustrating Network Requests under the pattern, with method, status, and the GraphQL operation when the request has one.

Each URL goes to the most specific matching pattern. A saved pattern is used before automatic URL grouping in Issues settings (Exclude URL Subdomains and Exclude URL Domain Extensions). A request that matches no saved pattern still uses that automatic grouping.

Saving or deleting a pattern regroups events still inside the Issues retention window. The dialogs preview matches from the last 30 days.

Ignore rules use that same most-specific pattern:

  • A rule for this pattern, or for a more specific URL inside it, keeps ignoring those events.
  • A rule that is a broader saved pattern stops ignoring the events this pattern takes.
  • A wildcard rule that is not a saved pattern keeps matching as before.
📘

GraphQL Errors are grouped by name and type

GraphQL requests that return 2xx or 3xx with errors in the body are grouped by operation name and type. The URL pattern covers 4xx, 5xx, and frustrating requests to that endpoint.

📘

Network Definitions are separate

Network Definitions save request and response body fields so you can filter on them.

Write a pattern

A pattern is a hostname, an optional port, and an optional path. Omit the scheme, query string, and fragment. Matching skips those on a real URL and ignores case. LogRocket stores the pattern in lowercase with a trailing slash. A trailing slash is the same pattern.

* stands in for one whole host, subdomain, suffix, or path segment.

PatternMatches
example.com/api/todo/*/example.com/api/todo/123
*.example.com/api/*/example.com/api/users, api.example.com/api/users, and a.b.example.com/api/users
example.*/api/*/example.com/api/users and example.co.uk/api/users
*/api/todo/*/That path on any host
localhost:8000/a/*/That host and port

*.example.com matches the apex host as well as any subdomain. A longer path needs its own pattern: example.com/api/todo/*/ leaves example.com/api/todo/123/items unmatched, and example.com/api/*/ leaves example.com/api/users/1 for example.com/api/users/*/. Include the port when the request has one. example.com/api/*/ leaves example.com:8080/api/1 unmatched.

LogRocket rejects a wildcard inside the domain or a segment (*example.com, example.com/to*do), a scheme, a query or fragment, and an empty segment (example.com/api//todo). A pattern allows at most 6 path wildcards and 20 path segments. Host wildcards sit outside that limit of 6.

Which pattern wins

  1. Host. * for any host is the least specific. A written subdomain beats *.example, and a written suffix beats example.*. api.example.com beats *.example.com. example.com beats example.*.
  2. Path, left to right. A literal segment beats * in that position. For example.com/inbox/message, example.com/inbox/*/ beats example.com/*/message/.
  3. Length, when those ranks tie. example.com/*/foo/ beats example.com/*/.

The list on the page is sorted in this order.

Add, test, and delete

Choose Add Network Endpoint Pattern. Confirm stays off until the last 30 days contain a request this pattern would capture, after more specific patterns take their share.

Paste a URL into the search box to see which pattern would capture it.

Delete is in the row menu. The pattern stops capturing endpoints. A broader pattern takes them when one exists.