Releases: msiodelski/endure
v0.4.0
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 byendure
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).
Full Changelog: https://github.com/msiodelski/endure/commits/v0.4.0
v0.3.0
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
andretransmission
auditors
for processingpcap
files. They collect and display the
metrics from all packets in thepcap
. Different auditors
are used in case of the live stream analysis andpcap
files
with periodic metrics reports. These auditors collect the metrics
from the last 100 packets.
(Github #50, #51). -
Enabled
pcap
file analysis with theendure 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 thepcap
analysis. The only visible change to the user
is that the metrics are now ordered alphabetically.
(Github #47, #48).
Full Changelog: https://github.com/msiodelski/endure/commits/v0.3.0
v0.2.0
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
andopcode_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).
Full Changelog: https://github.com/msiodelski/endure/commits/v0.2.0
v0.1.0
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 packet listeners and the dispatcher using the
pcap
library.
(Github #3, #5).
New Contributors
- @msiodelski made their first contribution in #2
Full Changelog: https://github.com/msiodelski/endure/commits/v0.1.0