wiki:QueryTrace

Introduction

Within the recursive resolver, a single query can give rise to a number of outgoing queries. This chain can be quite complex and it would be useful to follow queries throughout the system.

The following are an initial set of requirements based on discussions on the bind10-dev list:

Requirements

Query Selection

  • It should be possible to specify selection criteria for incoming queries such that when a matching query is received, information about it - and all outgoing queries/incoming replies generated because of it - is logged.
  • It should be possible to specify selection criteria for outgoing queries such that a matching query generated by the resolver enables tracing for the remainder of the query that generated it (e.g. if tracing is set for "ns1.example.net NS" and during the resolution process of "www.example.com A" a query is generated for "ns1.example.net", tracing is automatically enabled for the rest of the "www.example.com A" query)

Query Match Criteria

  • Matching criteria should include one or more of:
    • exact match to the domain name
    • match to any subdomain of the domain name (possibly including the domain name itself)
    • match to one or more query classes
    • match to one or more query types
  • It should be possible for specify more than one set of matching criteria.
  • On each set of matching criteria, it should be possible to enable to the tracing permanently or for a limited number of queries. (In the latter case, tracing is automatically disabled once the specified number of matching criteria is reached.)

Information Output

  • Each piece of information logged should have an ID associated with it that relates it to a specific (incoming) query. (Note that no outgoing query is the result of more than one incoming query. It is possible for two incoming queries to request the same information: in this case the first query would cause the resolver to make an outgoing query, the second incoming query would note that the relevant outgoing query is already in progress.)
  • All query traces should be associated with a single logging source (see logging requirements).
Last modified 7 years ago Last modified on Dec 6, 2010, 9:36:10 PM