Introducing Relational Fields
Blog post from Honeycomb
Relational fields are a new feature introduced to enhance querying capabilities by allowing users to analyze spans based on their relationships within a trace, rather than in isolation. This functionality, now available on the Honeycomb platform, supports three types of relational fields: root, parent, and any, which enable users to perform targeted queries to identify interesting traces, aiding in debugging and understanding transaction performance across services. These relational fields facilitate complex investigations, like identifying errors distributed across system layers or pinpointing performance bottlenecks in multi-tier applications. By allowing queries that connect deeply nested error spans with their root spans, relational fields can reveal which teams are affected by specific issues, as demonstrated by a case involving elevated failure rates in Slack notifications. Additionally, they support performance analysis by enabling queries that target specific service interactions, such as identifying database calls exceeding a certain duration. This feature is particularly useful for usage analysis, allowing users to determine event volumes across API endpoints or lambda functions by querying based on root span names, ultimately offering profound insights into system performance and usage patterns.