Opened 4 months ago

Last modified 6 weeks ago

#5552 assigned enhancement

Kea should be able to print performance metrics

Reported by: tomek Owned by: tomek
Priority: medium Milestone: Kea1.4-final
Component: dhcp4 Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

When debugging an issue, it became clear that finding out how long it takes Kea to process a packet and actually send a response is difficult. It requires matching different log entries, which sometimes is very problematic if there are multiple packets sent from a client.

We should develop a way to measure how long it takes to process a packet. The easiest way will be to use a stopwatch (see src/lib/util/stopwatch.h). I think we should remember the timestamp somewhere in Pkt4 (and possibly Pkt6) very early when the packet is received (perhaps in Pkt4 constructor?) and then print the interval value once the response packet is being sent out.

I think it would be useful to have separate logger for this, maybe call it performance or perf? If the concept proves to be useful, we may soon extend it to print out more detailed information about different stages (it took X ms to find host reservation, Y ms to select a lease, Z ms to do DNS update etc).

Subtickets

Change History (2)

comment:1 Changed 4 months ago by tomek

  • Owner set to tomek
  • Status changed from new to assigned

comment:2 Changed 6 weeks ago by tomek

  • Milestone changed from Kea1.4 to Kea1.4-final
  • Priority changed from high to medium

As discussed on 2018-05-10 call, moving to 1.4-final as medium.

Note: See TracTickets for help on using tickets.