Skip to content

Releases: msiodelski/endure

v0.4.0

14 Nov 08:09
Compare
Choose a tag to compare

Release v0.4.0

Summary

This is the 4th release of the endure project. It adds the ability to identify DHCPv4 transactions (e.g., 4-way exchange), and generate metrics for the entire transactions rather than individual packets. Current version introduces a couple of new metrics indicating average durations of the message exchanges between the clients and the server. It is meant to help the administrators to spot the performance issues with the server, causing excessive delays in responding to the client traffic. This release also offers better integration with Prometheus and Grafana. The new Docker containers can be started to run Prometheus and Grafana, and watch the metrics exported by endure in the Grafana's dashboard.

Documentation

Documentation for the project is available in the User's Manual and readme.

Changes

  • Added a Docker configuration that launches two containers, one
    with Prometheus and one with Grafana. They can be used to
    monitor the metrics exported by endure in a graphical
    environment.
    (Github #61, #62).

  • Corrected a bug whereby the metrics returned over the REST API
    and exported to Prometheus were always 0 when neither SSE nor
    CSV output were enabled.
    (Github #59, #60).

  • Implemented transactional auditor measuring average roundtrip
    time for DHCPv4 DORA exchanges.
    (Github #54, #58).

  • Implemented saving packet capture files.
    (Github #45, #46).

Full Changelog: https://github.com/msiodelski/endure/commits/v0.4.0

v0.3.0

04 Apr 08:32
Compare
Choose a tag to compare

Release v0.3.0

Summary

This is the third release of the endure project. It introduces capture file generation and analysis. A capture file can be generated with a new command line switch supported by the endure collect command. New endure read command reads the pcap files generated by endure, tcpdump and other programs, and returns suitable metrics in the CSV or JSON formats.

Documentation

Documentation for the project is available in the User's Manual and readme.

Changes

  • Implemented Dedicated opcode and retransmission auditors
    for processing pcap files. They collect and display the
    metrics from all packets in the pcap. Different auditors
    are used in case of the live stream analysis and pcap files
    with periodic metrics reports. These auditors collect the metrics
    from the last 100 packets.
    (Github #50, #51).

  • Enabled pcap file analysis with the endure read command.
    (Github #37, #49).

  • Code refactoring required for collecting variable number of
    metrics depending on the selected profile. It introduces no
    new functionality to a user but is a necessary ground work
    for the pcap analysis. The only visible change to the user
    is that the metrics are now ordered alphabetically.
    (Github #47, #48).

  • Implemented saving packet capture files.
    (Github #45, #46).

Full Changelog: https://github.com/msiodelski/endure/commits/v0.3.0

v0.2.0

13 Mar 13:10
Compare
Choose a tag to compare

Release v0.2.0

Summary

This is the second release of the endure project. It adds three new ways of interacting with the program to gather collected metrics. Most importantly, all metrics can be exported to Prometheus. They can also be gathered periodically by the subscribers using the Server Sent Events (SSE) mechanism. Finally, the metrics are returned on demand via a REST API endpoint. The periodic reports in the CSV format present in version 0.1.0 are also available but are now optional. In addition, the periodic reports can be written into a file or stdout. Previously, the reports could only be written to the stdout.

There are also three new metrics for tracking the total number of received and analyzed packets.

Documentation

Documentation for the project is available in the User's Manual and readme.

Changes

  • Added new metrics opcode_boot_requests_total,
    opcode_boot_replies_total and opcode_invalid_total.
    (Github #39, #40).

  • Implemented basic CLI system tests. Specification of the
    interface name is now required. Added the --loopback switch
    for convenient selection of a loopback interface.
    (Github #36, #38).

  • Support for capturing the bootp packets on the local loopback
    interface.
    (Github #33, #35).

  • Enabled server sent events (SSE) endpoint returning periodic
    metrics reports.
    (Github #29, #31).

  • Enabled REST API endpoint for exporting the metrics as JSON.
    (Github #28, #30).

  • Metrics export to Prometheus.
    (Github #26, #27).

Full Changelog: https://github.com/msiodelski/endure/commits/v0.2.0

v0.1.0

16 Feb 09:52
Compare
Choose a tag to compare

Release v0.1.0

Summary

This is the first release of the endure project. It provides a basic capability to listen to the BOOTP (and DHCP) packets on the selected interfaces. The program generates several metrics for tracking the percentage of the requests, replies and invalid packets. Other metrics include the percentage of the retransmissions, an average retransmission time and the MAC address of the client who has been trying to get the lease for a longest period of time. The metrics are printed periodically in the CSV format.

Documentation

Basic documentation for the project is available in the project readme.

Changes

  • The longest retransmitting DHCP client is reported in the
    metrics.
    (Github #19, #20).

  • The metrics are reported with a single digit precision.
    (Github #14, #18).

  • Selecting multiple interfaces for capturing the traffic from
    the command line with the --interface-name switch.
    (Github #13, #17).

  • Implemented basic BOOTP packets analyzer with two auditors.
    The first auditor tracks the number of BootRequest, BootReply
    and invalid opcodes. The second auditor checks the percentage
    of retransmissions and an average secs field value in the
    client requests.
    (Github #11, #12).

  • Implemented BOOTP packets parsing.
    (Github #9, #10).

  • Implemented packet listeners and the dispatcher using the
    pcap library.
    (Github #3, #5).

New Contributors

Full Changelog: https://github.com/msiodelski/endure/commits/v0.1.0