Skip to content

Releases: diqezit/Ping

PingTester v2.0

23 Nov 10:02
Compare
Choose a tag to compare

optimized version, improved debugging, bug fixes, increased performance. Removed redundant functions

Full Changelog: release...pin

image

image

image

PingTester v1.7

26 Oct 10:01
Compare
Choose a tag to compare

Improved logging, migration to C# 9.0, code optimization.
The rest is the same as in 1.6 version.

PingTester v1.5

09 Oct 16:02
1c26c56
Compare
Choose a tag to compare

Description

This application is a network connectivity testing tool that allows users to perform ping and traceroute tests to a specified URL.

Main Functions

Ping testing: Users can specify the URL, number of packets to send, timeout and log file path. The application performs pings, displaying the results in real time, including statistics on response time and packet loss. The results can be saved to a log file.

Graphical presentation of results: The application provides a response time graph to visualize the ping results updated in real time.

Route tracing: Allows users to see the intermediate nodes between their device and the target server, with detailed statistics for each hop.

Logging and saving results: All operations are logged with the ability to save logs to a file.

DNS caching: To optimize performance, the application caches the results of DNS queries, reducing the number of repeated queries.

Cancel operations: Users can cancel test execution at any time.

Technical details

The application is written in C# using WPF for the GUI.
The OxyPlot library is used to display response time graphs, with data smoothing and dynamic axis update functions.
Components and methods
GraphWindow: The main window for displaying the response time graph.
SetupAxes: Setup the axes of the graph.
SetupSeries: Create and configure data series.

SetPingData: Set response time data and update the graph.
UpdateGraph: Updates the graph based on the current data.
ToggleSmoothing: Toggle the data smoothing mode on the graph.

Additional Functions

Scaling and panning of the graph.
Update timer to display real-time data.

image
image

PingTester v1.6

25 Oct 14:20
1c26c56
Compare
Choose a tag to compare

Summary of Changes for All Files

The main changes are related to the trace code window.

General Changes

Addition of Comments and Documentation

  • XML comments for classes and methods.
  • Descriptions added for public methods and properties.

Interface Changes

  • Addition of XML comments for public methods and properties.

Support for Interfaces

  • Replaced concrete classes with interfaces (e.g., Logger with ILogger, DnsManager with IDnsManager).

Null Checks

  • Added null checks for constructor and method parameters.

Addition of Constants

  • Constants added for string formatting and other values.

Code Structure Changes

  • Code segmented into logical blocks using #region.

Changes for the PingManager Class

Support for Caching

  • Used ConcurrentDictionary<string, HopData> to store hop data.

Support for Synchronization

  • Used CancellationToken for canceling operations.

Support for Update Flags

  • Utilized a flag to track the need for updating statistics.

Methods Added

  • Added methods for data clearing, statistics calculation, string formatting, and other operations.

Support for Property Changes

  • Properties now update flags and trigger events when their values change.

Support for Caching Last Value

  • Added caching for the last response time and other data.

Support for Exception Handling

  • Improved exception handling in methods.

Support for Logging

  • Added logging for various stages of operation.

Support for Timeouts

  • Implemented timeout support for DNS requests and other operations.

Support for Comparison

  • Used EqualityComparer<T>.Default.Equals for comparing property values.

Changes for the DnsManager Class

Support for Caching

  • Used IMemoryCache for caching DNS query results.

Support for Synchronization

  • Used CancellationToken for canceling operations.

Support for Update Flags

  • Utilized a flag to track the need for updating statistics.

Methods Added

  • Added methods for data clearing, statistics calculation, string formatting, and other operations.

Support for Property Changes

  • Properties now update flags and trigger events when their values change.

Support for Caching Last Value

  • Added caching for the last response time and other data.

Support for Exception Handling

  • Improved exception handling in methods.

Support for Logging

  • Added logging for various stages of operation.

Support for Timeouts

  • Implemented timeout support for DNS requests and other operations.

Support for Comparison

  • Used EqualityComparer<T>.Default.Equals for comparing property values.

Changes for the Logger Class

Support for Caching

  • Used ConcurrentQueue<string> to store log messages.

Support for Synchronization

  • Utilized Timer for periodic logging to file.

Support for Update Flags

  • Utilized a flag to track the need for updating statistics.

Methods Added

  • Added methods for data clearing, statistics calculation, string formatting, and other operations.

Support for Property Changes

  • Properties now update flags and trigger events when their values change.

Support for Caching Last Value

  • Added caching for the last response time and other data.

Support for Exception Handling

  • Improved exception handling in methods.

Support for Logging

  • Added logging for various stages of operation.

Support for Timeouts

  • Implemented timeout support for DNS requests and other operations.

Support for Comparison

  • Used EqualityComparer<T>.Default.Equals for comparing property values.

Changes for the TraceResult Class

Support for Caching

  • Used ConcurrentBag<long> to store response times.

Support for Synchronization

  • Used lock to synchronize access to data.

Support for Update Flags

  • Utilized a flag to track the need for updating statistics.

Methods Added

  • Added methods for data clearing, statistics calculation, string formatting, and other operations.

Support for Property Changes

  • Properties now update flags and trigger events when their values change.

Support for Caching Last Value

  • Added caching for the last response time and other data.

Support for Exception Handling

  • Improved exception handling in methods.

Support for Logging

  • Added logging for various stages of operation.

Support for Timeouts

  • Implemented timeout support for DNS requests and other operations.

Support for Comparison

  • Used EqualityComparer<T>.Default.Equals for comparing property values.

Changes for the HopData Class

Support for Caching

  • Used ConcurrentBag<long> to store response times.

Support for Synchronization

  • Used lock to synchronize access to data.

Support for Update Flags

  • Utilized a flag to track the need for updating statistics.

Methods Added

  • Added methods for data clearing, statistics calculation, string formatting, and other operations.

Support for Property Changes

  • Properties now update flags and trigger events when their values change.

Support for Caching Last Value

  • Added caching for the last response time and other data.

Support for Exception Handling

  • Improved exception handling in methods.

Support for Logging

  • Added logging for various stages of operation.

Support for Timeouts

  • Implemented timeout support for DNS requests and other operations.

Support for Comparison

  • Used EqualityComparer<T>.Default.Equals for comparing property values.

Full Changelog: ping...ip